gpt4 book ai didi

java - Android 菜单膨胀错误之前的条件检查

转载 作者:行者123 更新时间:2023-12-02 07:55:38 26 4
gpt4 key购买 nike

是否有可能在条件成立时膨胀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);


}

我在哪一行进行条件检查,我可以在条件失败期间阻止菜单膨胀..

最佳答案

如果我理解正确,您将需要在onCreateOptionsMenu()中添加您的条件检查并返回false如果您的条件不满足。

但是,onCreateOptionsMenu()仅在第一次需要创建菜单时被调用,一旦创建了菜单(返回 true),那么直到它因某种原因失效(3.0+ 在各种情况下都会这样做,但<3.0 不会),它才会被调用比如 Activity 结束。任何时候按下菜单键,onPrepareOptionsMenu() (我认为这就是方法)在显示菜单之前调用。

希望这就是您正在寻找的。

关于java - Android 菜单膨胀错误之前的条件检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9693369/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com