假设我在CardScrollView中使用了3张不同的卡片。现在我想在每张卡片上使用菜单。但CardScrollView中的每张卡都应有各自的菜单。
有没有办法实现这个目标?我似乎无法找到相关文档。
答案 0 :(得分:1)
您可以尝试这样的事情:
mCardScrollView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
currentPosition = position;
openOptionsMenu();
}
});
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.share_menu, menu); //fake call
return true;
}
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
menu.clear();
switch (currentPosition) {
case FIRST:
getMenuInflater().inflate(R.menu.first_menu, menu);
break;
case SECOND:
getMenuInflater().inflate(R.menu.second_menu, menu);
break;
case THIRD:
getMenuInflater().inflate(R.menu.third_menu, menu);
break;
}
return super.onPrepareOptionsMenu(menu);
}