對於你的理由,你可以使用列表視圖開始。
ListView
由以下幾部分組成:
行 - 在列表中的數據的可視表示。
適配器 - 將數據源綁定到列表 視圖的非可視類。
快速滾動 - 讓用戶滾動列表的長度的句柄。
Section Index - 一個浮動在滾動行上的用戶界面元素,用於指示列表中當前行的位置爲 。
創建簡單的列表請執行以下操作:
您listview
和listview items
創建XML:
ListView
:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:minWidth="25px"
android:minHeight="25px">
<ListView
android:minWidth="25px"
android:minHeight="25px"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:divider="#000000"
android:id="@+id/listView1" />
</LinearLayout>
ListViewItem
:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/white"
android:id="@+id/relativeLayout"
android:padding="10dp">
<TextView
android:text="Name"
android:textColor="@android:color/black"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/txtName" />
</RelativeLayout>
Listview
需要一個適配器來擺放物品,所以我們應該創建一個:
public class ListAdapter : BaseAdapter<string>
{
List<string> _list;
Activity _context;
public ListAdapter(Activity context, List<string> list)
{
_context = context;
_list = list;
}
public override long GetItemId(int position)
{
return position;
}
public override Android.Views.View GetView(int position, Android.Views.View convertView, Android.Views.ViewGroup parent)
{
View view = convertView;
if (view == null)
{
view = _context.LayoutInflater.Inflate(Resource.Layout.ListItem, null);
}
TextView txtName = view.FindViewById<TextView>(Resource.Id.txtName);
var item = _list[position];
txtName.Text = item.UserName;
return view;
}
public override int Count
{
get
{
return _list.Count;
}
}
public override string this[int index]
{
get
{
return _list[index];
}
}
}
在
Activity
然後和你的適配器設置爲listview
:
ListView _listView;
ListAdapter _adapter;
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.List);
_listView = FindViewById<ListView>(Resource.Id.listView1);
_listView.ItemClick += ItemClick;
_adapter = new ListAdapter(this, myList);
_listView.Adapter = _adapter;
}
void ItemClick (object sender, AdapterView.ItemClickEventArgs e)
{
//Do stuff on item click.
}
完蛋了。 對於詳細的教程檢查Xamarin Documentation
更多鏈接: Swipe To Refresh
對於更復雜的功能和靈活性檢查RecyclerView
我已經兩年Xamarin甚至從來沒有聽說過'ListActivity'笑:d我壞。 – arsena
發佈您的XML,請 – arsena
我沒有爲此活動提供一個xml(我認爲...)。如果你不知道它甚至存在,那麼我可以使用的其他成語做什麼等價物? – user2717954