【发布时间】:2016-08-22 12:33:13
【问题描述】:
我使用 SimpleCursorAdapter 创建了列表视图,每行包含多个视图(4 个文本视图),我想在单击时将上下文菜单添加到一个文本视图。
我已将上下文菜单添加到其中一个文本视图中,但文本视图的 onclick 始终提供最后一行的数据(最后一行的文本视图数据)。
如何解决此问题,非常感谢您的帮助。
以下是我的代码:
在下面的代码中,当用户单击我为上下文菜单注册的文本时,我将 OnClick 侦听器设置为 textview。
public View getView(int position, View convertView, ViewGroup parent) { address = (TextView) row.findViewById(R.id.host_address);
address = (TextView) row.findViewById(R.id.host_address);
address.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
registerForContextMenu(address);
openContextMenu(address);
unregisterForContextMenu(address);
}
}); }
上下文菜单:
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
menu.setHeaderTitle(address.getText());
menu.add(0, OPEN_MAP, 0, "Open in maps");
menu.add(0, COPY_ADDRESS, 1, "Copy");
}
注意:-**在上面的代码中**address.getText()总是返回最后一行地址。
【问题讨论】:
-
请贴出上述功能相关的代码。
-
什么都不会发生!
-
@RameshR 添加了代码。
-
您正在将文本视图分配给 getView() 方法中的地址,该方法包含对最底部列表项文本视图的引用,因为这是布局的最后一个视图。
-
你的赖特,但是我该如何解决这个问题..任何想法?
标签: android listview simplecursoradapter android-contextmenu