我正在开发一个 android 应用程序。我将有一个列表视图,并且我设置了一个上下文菜单,以便在长按列表视图项目时出现。我如何从选定的列表视图项目中获取项目(比如来自列表视图文本视图的文本)之后选择了上下文菜单中的一个动作,以便我可以处理它?这是一些代码:
protected void onCreate(Bundle savedInstanceState) {
-------
lv1 = (ListView) findViewById(R.id.listings);
registerForContextMenu(lv1);
lv1.setOnItemClickListener(this);
}
和 onCreateContextMenu:
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.context_menu, menu);
}
@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterContextMenuInfo info = (AdapterContextMenuInfo) item
.getMenuInfo();
switch (item.getItemId()) {
case R.id.watch:
String name = "";
return true;
case R.id.buy:
return true;
default:
return super.onContextItemSelected(item);
}
}
我想从列表项中的文本视图中获取文本。我该如何实现?
原文由 mungaih pk 发布,翻译遵循 CC BY-SA 4.0 许可协议
上述答案非常准确,并且针对所提供的案例。话虽如此,我被带到这里时使用了
convertView
为我的listview
并且我正在回答那些也被带到这里的人。如果您的
LISTVIEW
正在使用convertView
并膨胀一个单独的布局(比如list_MyItem.xml
),直接修改list_MyItem.xml
:343a 到 —768769deff8ba43a例如,如果列表视图正在填充按钮,请按如下方式修改按钮: