一、NuGet包管理器搜索 “SortableTableView”控件,找到后安装。
二、布局文件,直接拖TableView控件
activity_main.xml:
<de.codecrafters.tableview.TableView
android:minWidth=“25px”
android:minHeight=“25px”
android:layout_width=“wrap_content”
android:layout_height=“wrap_content”
android:id="@+id/tableView1" />
三、修改MainActivity.cs文件,代码如下:
public class MainActivity : AppCompatActivity
{
private static readonly string[] TABLE_HEADERS = { "This", "is", "a", "test" };
private string[][] DATA_TO_SHOW = new string[][]{ new string[]{"This", "is", "a", "test" },
new string[]{ "and", "a", "second", "test" }
};
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.activity_main);
TableView tableView = FindViewById<TableView>(Resource.Id.tableView1);
tableView.HeaderAdapter = new SimpleTableHeaderAdapter(this, TABLE_HEADERS);
TableColumnDpWidthModel columnModel = new TableColumnDpWidthModel(this, 4, 100);
columnModel.SetColumnWidth(1, 200);
columnModel.SetColumnWidth(2, 250);
tableView.ColumnModel = columnModel;
tableView.DataAdapter = new SimpleTableDataAdapter(this, DATA_TO_SHOW);
//数据点击事件
tableView.DataClick += (sender, e) =>
{
var obj = (string[])e.ClickedData;
string str = obj[0] + obj[2];
Toast.MakeText(this, str, ToastLength.Short).Show();
};
}
}
}
四、运行效果如下:
注:如果对数据要进行排序,需用SortableTableView控件,这里只是简单介绍TableView如何实现动态数据显示功能。