ViewPagerでTableLayoutのメニューを非表示にしようとしています。ソリューションタブでのみメニューが必要です。私はonPrepareOptionsmenuを使用して、ソリューションタブ以外のタブでメニューを非表示にしました。事は私のonOptionsItemSelectedは動作していません。onOptionsSelectedが機能していません
コード:事前に
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inf = getMenuInflater();
inf.inflate(R.menu.simpleadd,menu);
// +getMenuInflater().inflate(R.menu.simpleadd, menu);
onPrepareOptionsMenu(menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
if (viewpager.getCurrentItem()==0){
menu.findItem(R.id.simpleadd).setVisible(false);
} else if(viewpager.getCurrentItem()==1){
menu.findItem(R.id.simpleadd).setVisible(false);
} else if(viewpager.getCurrentItem()==2){
menu.findItem(R.id.simpleadd).setVisible(true);
} else if(viewpager.getCurrentItem()==3){
menu.findItem(R.id.simpleadd).setVisible(false);
}else if(viewpager.getCurrentItem()==4){
menu.findItem(R.id.simpleadd).setVisible(false);
}
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()){
case R.id.simpleadd:
startActivity(new Intent(this,NewSolution.class));
}
return super.onOptionsItemSelected(item);
}
おかげで、あなたはonOptionsItemSelectedのスイッチケースにレイアウトの名前を使用している
は、' 'super.onCreateOptionsMenu(メニュー)を入力し、このタイプミスかではないでしょうか?私はそれが 'super.onPrepareOptionsMenu(メニュー)' – koceeng
であるべきだと思うので...働いていない...ありがとう –