0
flipper = (ViewFlipper) findViewById(R.id.vFslideshow);
flipper.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
flipper.showNext();
}
});
}
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
if(flipper.isFlipping()){
menu.removeItem(0);
}else{
menu.removeItem(1);
}
return true;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(0, 0, 0, "start slideshow");
menu.add(0, 1, 1, "stop slideshow");
menu.add(0, 2, 2, "close");
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case 0:
flipper.setFlipInterval(1000);
flipper.startFlipping();
break;
case 1:
flipper.stopFlipping();
break;
case 2:
this.finish();
break;
}
return true;
}
正如你们所看到的,我试图检查某些条件下使用其onPrepareOptionMenu(菜单菜单)显示选项菜单问题onPrepareOptionMenu(菜单菜单)?
但输出我越来越有点有线,所以如果有人能帮助我理解为什么我会得到意想不到的输出。
输出:当第一次启动/触发此活动时,它显示两个选项(通过按菜单按钮)“开始幻灯片放映”和“关闭”,点击选项菜单中的“开始幻灯片放映”后,开始翻转,罚款。但现在,如果我按菜单按钮和选项菜单弹出,它只显示一个选项,“关闭”。想知道为什么它没有显示“停止幻灯片放映”。
THX ..
把菜单项的GROUPID “停止幻灯片” 为0,这将导致由default.ie menu.add(0,1,1,“停止三个菜单选项幻灯片“); –
@hemanth kumar对不起,是错字。它已经是0 ... – Mohit
正如我所看到的,您可以删除onPrepare方法中的菜单项,但它无处添加。我不知道这个鳍状肢,但它是否重新加载整个活动?尝试玩setvisibility和禁用menuitem,这会隐藏它,但不能从菜单中删除,所以你可以很容易地从onPrepare恢复它。 – nistv4n