创建了两个TextView并调用方法registerForContextMenu方法,称为@override 方法,onCreateContextMenu但是当我单击textViews它时,按照程序不起作用。这可能是什么原因?TextView color,size; final int COLOR_RED = 1; final int COLOR_BLUE = 2; final int SIZE_26 = 26; final int SIZE_30 = 30; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); color = (TextView)findViewById(R.id.color); size = (TextView)findViewById(R.id.size); Log.d("nimae","ishla"); registerForContextMenu(color); registerForContextMenu(size); } @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) { switch (v.getId()){ case R.id.color: menu.add(0,COLOR_RED,0,"Qizil"); menu.add(0,COLOR_BLUE,0,"Ko`k"); break; case R.id.size: menu.add(0,SIZE_26,0,"26 size"); menu.add(0,SIZE_30,0,"30 size"); break; } }
2 回答
MYYA
TA贡献1868条经验 获得超4个赞
由于您没有提交完整的代码,因此不清楚您的问题,我认为它可能对您有用。
textViews.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
registerForContextMenu(color);
registerForContextMenu(size);
}
});
慕标琳琳
TA贡献1830条经验 获得超9个赞
单击 TextView 后,我应该使用方法 openContextMenu(View v); 以下代码适用于我的情况
color = (TextView)findViewById(R.id.color);
size = (TextView)findViewById(R.id.size);
registerForContextMenu(color);
registerForContextMenu(size);
color.setOnClickListener(v -> {
openContextMenu(color);
});
size.setOnClickListener(v -> {
openContextMenu(size);
});
添加回答
举报
0/150
提交
取消