条件が満たされている場合にAndroidメニューを膨らませる可能性はありますか、それが可能であることを願っています。
条件チェックが失敗した場合にメニューが膨張しないようにするために、条件チェックコードを配置する必要がある場所
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.bar, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item){
AlertDialog.Builder builder=new AlertDialog.Builder(this);
builder.setTitle("Pick An Image")
.setMessage("Please select Image One or Image Two:")
.setCancelable(false)
.setPositiveButton("IMAGE 1", new DialogInterface.OnClickListener(){
public void onClick(DialogInterface Dialog,int id){
//image.setImageResource(R.drawable.image1);
}
})
.setNeutralButton("IMAGE 3",new DialogInterface.OnClickListener(){
public void onClick(DialogInterface Dialog,int id){
//image.setImageResource(R.drawable.icon);
}
})
.setNegativeButton("Image 2", new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog,int id){
//image.setImageResource(R.drawable.image2);
}
});
Spinner spinner1=(Spinner)findViewById(R.id.spinner1);
Spinner spinner2=(Spinner)findViewById(R.id.spinner2);
int dim1=spinner1.getSelectedItemPosition();
int dim2=spinner2.getSelectedItemPosition();
if(dim1==dim2)
{
Toast.makeText(null, "your source and destination are same", Toast.LENGTH_SHORT).show();
}
else
{
switch(item.getItemId()){
case R.id.buttonone:
builder.show();
return true;
case R.id.buttontwo:
builder.show();
return true;
case R.id.buttonthree:
builder.show();
return true;
case R.id.buttonfour:
builder.show();
return true;
case R.id.buttonfive:
builder.show();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
return super.onOptionsItemSelected(item);
}
どの行で状態チェックを行うか、状態が失敗したときにメニューが膨張するのを止めることができます..