c# - 获取单击的列表视图文本 Xamarin Android
问题描述
我的代码:
private ListView lvSites;
private List<string> siteList;
protected override void OnCreate (Bundle bundle){
base.OnCreate (bundle);
RequestWindowFeature(WindowFeatures.NoTitle);
// Set our view from the "main" layout resource
SetContentView (Resource.Layout.Main);
lvSites = FindViewById<ListView>(Resource.Id.lst_Sites);
lvSites.ItemClick += lstSites_ItemClick;
}
private void lstSites_ItemClick(object sender, AdapterView.ItemClickEventArgs e){
Site = e.ToString();
Toast.MakeText(this, Site, ToastLength.Long).Show();
}
e 不会给我文本,但我可以获得位置 id,有什么可以从中提取文本吗?
我想在 lvSites 项目单击时拉出字符串。
我似乎无法回答或关闭。但我这样做了
Site = siteList[e.Position].ToString();
解决方案
使用下面的代码来获取listview
点击的项目
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.activity_main);
var adapter = new ArrayAdapter<string>(this, Android.Resource.Layout.SimpleListItem1, dataSource);
var listview = FindViewById<ListView>(Resource.Id.listView1);
listview.Adapter = adapter;
listview.ItemClick += delegate(object sender,AdapterView.ItemClickEventArgs e)
{
var item = adapter.GetItem(e.Position);
};
}
希望对您有所帮助。
推荐阅读
- microcontroller - PIC uc 编程没有 MCLR 引脚
- node.js - Mongoose:使用其他模型的模式
- laravel - 我无法将存储转移到服务器。拉拉维尔
- swift - 默认协议实现优先于子类的实现
- variables - 连接的 wlan 是否有变量?
- javascript - 将月份添加到日期在 JavaScript 中不起作用
- linkedin - LinkedIn API OAuth2 身份验证与范围权限失败
- python-3.x - 如何重用多处理池?
- java - 我在 Mac 上安装的 Java 11 中的 derby.jar 文件在哪里?
- validation - 如何将条目限制为仅特定日期格式并防止复制粘贴?