在xamarin android上选择listview时如何获取项目?
TracksByGenres.cs在xamarin android上选择listview时如何获取项目?,listview,xamarin,xamarin.android,selecteditem,Listview,Xamarin,Xamarin.android,Selecteditem,TracksByGenres.cs string[] items = new string[] { "Alternative Rock","Classical"} lst.ItemClick += delegate(object sender, AdapterView.ItemClickEventArgs e) { FragmentTransaction fragmentTx=this.FragmentManager.BeginTransaction(); Tracks
string[] items = new string[] { "Alternative Rock","Classical"}
lst.ItemClick += delegate(object sender, AdapterView.ItemClickEventArgs e) {
FragmentTransaction fragmentTx=this.FragmentManager.BeginTransaction();
TracksByGenres fragTrack=new TracksByGenres();
//get our item from listview
fragmentTx.Replace(Resource.Id.fragmentContainer,fragTrack,.....);
fragmentTx.AddToBackStack(null);
fragmentTx.Commit();
};
如何从Xamarin.Android上的
列表视图
中获取所选项目,并创建返回旧片段的后退按钮?在列表片段
子类中覆盖OnListItemClick
以接收单击的项目
public async override void OnActivityCreated(Bundle savedInstancesState)
{
base.OnActivityCreated (savedInstancesState);
// what do I write?
}
Android.App.ListFragment.OnListItemClick方法
选择列表中的项目时,将调用此方法
项目ClickEventArgs
位置将告诉您所选项目的索引
public class myListFragment : ListFragment
{
string[] data = { "Alternative Rock","Classical" } ;
protected override void OnCreate (Bundle bundle)
{
base.OnCreate (bundle);
ArrayAdapter adapter = new ArrayAdapter (this,
Resource.Layout.TextViewItem, data);
ListAdapter = adapter;
}
protected override void OnListItemClick (ListView l, View v,
int position, long id)
{
base.OnListItemClick (l, v, position, id);
Toast.MakeText (this, data [position],
ToastLength.Short).Show ();
}
}
只需为ListView.ItemClick创建一个方法
lst.ItemClick += delegate(object sender, AdapterView.ItemClickEventArgs e) {
var selected = items[e.Position];
}
在该方法中,您可以检索已单击项的索引
mListView.ItemClick += MListView_ItemClick;
我使用片段。非活动I更新了答案,覆盖onListFragment
子类中的OnListItemClick
如何从不同的fragment.FragmentTx.Replace(Resource.Id.fragmentContainer,FragmentTrack,items[e.Position])获取项目[e.Position];
void MListView_ItemClick(object sender, AdapterView.ItemClickEventArgs e)
{
Toast.MakeText(Application.Context, e.Position, ToastLength.Short).Show();
}