これでコンテキストメニューの項目を無効にできます:
menu.getItem(1).setEnabled(false);
onCreateContextMenuにありますが、後で同じアクティビティ内でtrueに設定したい場合はどうなりますか?実行時にそれを行うにはどうすればよいですか?
編集:
// Create context menu
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
// TODO Auto-generated method stub
super.onCreateContextMenu(menu, v, menuInfo);
menu.setHeaderTitle("Options for this image"); // Title for the menu
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.activity_1_menu, menu);
menu.getItem(1).setEnabled(false);
}
これは、アイテムを変更して有効にする場所です。
// Handle return values from different activities
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == Activity.RESULT_OK) {
if (requestCode == 1) {
// Get value from intent
String imageId = data.getExtras().getString("imageId");
// Show full screen image
Bitmap bitmap = BitmapFactory.decodeFile(imageId);
imageView.setImageBitmap(bitmap);
}
else if(requestCode == 2) {
String contact1 = data.getExtras().getString("contactName");
String contact2 = data.getExtras().getString("test");
Toast.makeText(Activity_1.this, "" + "Value from activity 3: " + contact1 + " " + contact2, Toast.LENGTH_SHORT).show();
CHANGE MENU ITEM 1 TO ENABLE HERE!!!!
}
}
}
}