我有一个填充了不同视图的列表视图,每个视图都有一个与之关联的标记。长按其中一个时,会出现上下文菜单。我需要获得对所按下的视图的引用,并获取与其关联的标记。这是我试过的代码
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.context_menu, menu);
menu.setHeaderTitle("Options");
AdapterView.AdapterContextMenuInfo info;
try {
info = (AdapterView.AdapterContextMenuInfo) menuInfo;
} catch (ClassCastException e) {
return;
}
long id = getListAdapter().getItemId(info.position);
ListView lv = (ListView) v;
View row = (View) lv.getItemAtPosition((int) id);
row_id = (Long) row.getTag(); // global variable
}
row_id是我想要设置为所按视图标记的全局变量。标签设置正确。尝试以这种方式获取id时,我得到一个NULLPOINTER