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(メニューメニュー)を使用して、オプションメニューを表示するための特定の条件を確認しようとしています。
しかし、私が取得している出力は多少配線されているので、誰かが私が予期しない出力を取得している理由を理解するのを手伝ってくれるなら。
出力:このアクティビティが最初に起動/トリガーされると、(メニューボタンを押すことで)「スライドショーの開始」と「閉じる」の2つのオプションが表示され、オプションメニューの「スライドショーの開始」をクリックするとフリッパーが反転を開始します。メニューボタンを押してオプションメニューがポップアップすると、「閉じる」オプションが1つだけ表示されます。なぜ「スライドショーを停止」が表示されないのか疑問に思います。
どうも..