我正在以编程方式使用 TextViews 填充 LinearLayout,在其中放置基于从数据库和用户首选项填充的实体的文本。
我现在正在尝试在每个 TextViews 上添加一个上下文菜单,以允许用户删除该特定条目(因此是对象,因此是 db 行)。
我可以长按打开上下文菜单,但我看不到获取与菜单关联的 TextView 的 id 的方法。
几乎所有关于此的信息都引用了 ListViews(我没有使用 - 在 ScrollView 中有一个 ListView 存在问题),并且很多引用了 Adapters(我没有使用,数据需要在之前彻底按摩体面的)。
LinearLayout 在 XML 中指定。我在进行数据库查找的 AsyncTask 的 onPostExecute 中将 TextViews 添加到它。
我尝试以两种方式注册上下文菜单:使用 Activity.registerForContextMenu(TextView) 和 textView.setOnCreateOptionsMenuListener(new ...)。
问题出在以下部分:
@Override
public boolean onContextItemSelected(MenuItem item) {
ContextMenuInfo info = (ContextMenuInfo) item.getMenuInfo();
switch (item.getItemId()) {
case R.id.delete_entry:
// how do I get the TextView id here???
return true;
default:
return super.onContextItemSelected(item);
}
}
ContextMenuInfo 变量为空,没有任何帮助。