Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 我想在单击时显示菜单_Android_Listview_Menu - Fatal编程技术网

Android 我想在单击时显示菜单

Android 我想在单击时显示菜单,android,listview,menu,Android,Listview,Menu,我在play store中有一个应用程序,我想为他制作一个新菜单 当列表视图中的一项按下时,我想显示一个类似whatsapp的菜单 我有这个 我要做什么才能显示像whatsapp这样的菜单 lista是一个listview lista.setOnItemLongClickListener(new OnItemLongClickListener() { @Override public boolean onItemLongClick(Adapter

我在play store中有一个应用程序,我想为他制作一个新菜单

当列表视图中的一项按下时,我想显示一个类似whatsapp的菜单

我有这个

我要做什么才能显示像whatsapp这样的菜单

lista是一个listview

lista.setOnItemLongClickListener(new OnItemLongClickListener() {

            @Override
            public boolean onItemLongClick(AdapterView<?> arg0, View arg1,
                    int arg2, long arg3) {

                registerForContextMenu(lista);

                return true;
            }
        });

我相信你要找的是
ContextMenu


1º在中声明上下文菜单的项目

/res/menu/NAMEOFXMLUWANT.XML

像这样

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

<item android:id="@+id/Abrir"
      android:title="@string/Abrir" />
<item android:id="@+id/Editar"
      android:title="@string/Edit" />
    <item android:id="@+id/Borrar"
      android:title="@string/delete" />
<item android:id="@+id/Alarma"
      android:title="@string/Alarma" />
</menu>
对我来说,这一切都很有效:)

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

<item android:id="@+id/Abrir"
      android:title="@string/Abrir" />
<item android:id="@+id/Editar"
      android:title="@string/Edit" />
    <item android:id="@+id/Borrar"
      android:title="@string/delete" />
<item android:id="@+id/Alarma"
      android:title="@string/Alarma" />
</menu>
 lista = (ListView) findViewById(R.id.Lista);
        final ArrayAdapter<String> adaptador = new ArrayAdapter<String>(
                this, android.R.layout.simple_list_item_1, ficheros);
        lista.setLongClickable(true);

        lista.setAdapter(adaptador);

        lista.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {

            @Override 
            public void onCreateContextMenu(ContextMenu menu, View v,
                    ContextMenuInfo menuInfo) { //here u set u rute
                MenuInflater inflater = getMenuInflater();
                inflater.inflate(R.menu.activity_main, menu);

            }
        });
@Override
public boolean onContextItemSelected(MenuItem item) {
    AdapterContextMenuInfo menuInfo = (AdapterContextMenuInfo) item 
            .getMenuInfo(); 
    switch (item.getItemId()) {
  case R.id.Editar:
    System.out.println("Editar");
    return true;
  case R.id.Borrar:
        System.out.println("borrar");
    return true;
  case R.id.Abrir:
        System.out.println("Abrir");
    return true;

  case R.id.Alarma:
        System.out.println("Alarma");
    return true;

  default:
    return super.onContextItemSelected(item);
  }
}