创建了两个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;
}
}
答案 0 :(得分:0)
因为您没有提交完整的代码,所以不清楚您的问题,我认为这可能对您有用。
textViews.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
registerForContextMenu(color);
registerForContextMenu(size);
}
});
答案 1 :(得分:0)
点击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);
});