当我生成上下文菜单时,在列表视图中选择一个项目
Posted
技术标签:
【中文标题】当我生成上下文菜单时,在列表视图中选择一个项目【英文标题】:Get a item selected in listview when i generate context Menu 【发布时间】:2013-04-27 08:25:50 【问题描述】:我想从列表视图中获取选定的项目。
当维护一个列表视图项目的长按时,我会得到上下文菜单(一切正常),但我想知道如何检测什么是进行长按的位置
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>
2º-AFTER 在你想要在列表视图中做上下文菜单的类中
lista = 我的列表视图
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);
);
3º 最后,你设置你的点击到项目
@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);
对我来说所有这些工作:),但我想通过长按来选择项目,谢谢阅读^^
【问题讨论】:
【参考方案1】:menuInfo.position 解决了我的问题,礼貌@Luksprog
【讨论】:
以上是关于当我生成上下文菜单时,在列表视图中选择一个项目的主要内容,如果未能解决你的问题,请参考以下文章