我正在开发一个Xamarin Android应用程序。在那个应用程序中,我正在显示一个自定义列表。我想用listView_ItemLongClick(object sender, AdapterView.ItemLongClickEventArgs e)显示一个弹出窗口,我需要显示两个选项update和delete。根据用户的选择,我想做进一步的处理。
有谁能给我举几个我能用的例子吗?

最佳答案

如果您只想在EventHandler中执行一些操作,可以执行以下简单操作:

var listView = FindViewById<ListView>(Resource.Id.MyListView);
listView.ItemLongClick += listView_ItemLongClick;

private void listView_ItemLongClick(object sender, AdapterView.ItemLongClickEventArgs e)
{
    // Do your stuff here
}

现在您可以对LongClicks做出反应了,现在您需要显示一个“弹出窗口”。在这种情况下,您可能需要类似Dialog(所有api级别)或PopupMenu(api级别11及以上)的内容。
使用PopupMenu相当简单。首先,您需要定义一个popupmenu.xml文件,该文件需要位于Resources/menu/中,以便在PopupMenu中创建项:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/pm_update"
          android:title="Update" />
    <item android:id="@+id/pm_delete"
          android:title="Delete" />
</menu>

接下来,您需要为EventHandler事件向ItemLongClick添加一段简单的代码:
var menu = new PopupMenu(this, (View)sender);
menu.Inflate(Resource.Menu.popupmenu);
menu.MenuItemClick += (s, a) =>
{
    switch (a.Item.ItemId)
    {
        case Resource.Id.pm_update:
            // update stuff
            break;
        case Resource.Id.pm_delete:
            // delete stuff
            break;
    }
};
menu.Show();

如果你想要一个Dialog而不是有大量的样品在那里如何使这些。

关于c# - 如何在xamarin的 ListView 中使用OnItemLongClick ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19137870/

10-09 01:43