我有4 * 7表,我想处理每个编辑文本,当用户点击第5个编辑文本足够长时间以便弹出菜单时,他可以选择他想要的颜色。
问题是我应该怎么做,我有4 * 7 edittexts所以我应该调用registerForContextMenu(View)28次,即使我这样做我怎样才能在onContextItemSelected(menuItem)中处理它?
我不想放置整个片段的视图,因为每次用户在菜单弹出的任何位置点击太长时间,所以我不想要这样。
编辑:
我在onCreateContextMenu中尝试了这个:
if(v.getId() == R.id.table_item1){
Position = 1;
}
并检查onContextItemSelected中的位置,有没有比这更好的方式/更快的方式?因为我需要把28放在那里:(
答案 0 :(得分:0)
您可以为EditTexts
edit1,edit2,edit3等命名。
然后你可以做一个循环
for(int i=1; i<=28; ++i) {
int resId = getResources.getIdentifier("edit" + i, "id", getPackageName());
EditText edt = (EditText)findViewById(resId);
edt.registerForContextMenu(...)
}
和其他需要迭代EditText