私はこれを行っていました:
menu.setHeaderTitle("Available Actions");
android.view.MenuItem Edit = menu.findItem(R.id.edit);
android.view.MenuItem Delete = menu.findItem(R.id.delete);
AdapterContextMenuInfo info = (AdapterContextMenuInfo) menuInfo;
int position = info.position;
ListView lv = (ListView) v;
int firstVisible = lv.getFirstVisiblePosition();
View rowView = lv.getChildAt(position - firstVisible);
if (Rateit.isUserLoggedIn == true) {
{
Edit.setVisible(true);
Delete.setVisible(true);
} else {
Edit.setVisible(false);
Delete.setVisible(false);
}
} else {
Edit.setVisible(false);
Delete.setVisible(false);
}
これで、メニューはレイアウトを膨らませることなく設定されますが、これは次のとおりです。
menu.add(2, 1, 0, "Edit");
menu.add(2, 2, 0, "Delete");
itemId
ただし、 (メソッドの2番目のパラメーターadd
)をEdit
/に割り当てる必要があるメソッドが見つからないため、Delete
それらを表示するかどうかを設定できますか?誰もがこれを行う方法を知っていますか?