我的页面上方有一个菜单,其中有一个动作项。像这样:
我为此设置了app:showAsAction="always"
。
我的页面中也有不可见的视图(在UI中)。
如果我想单击它,将显示不可见的视图。所以我为此设置了一个布尔参数。 我的布尔值设置为true,但我的对象根本没有出现。我该如何解决?
这是我的代码:
public static boolean myBoolean=false;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//this if doesn't check after change parameter
if(myBoolean)
findViewById(R.id.checkBox).setVisibility(View.VISIBLE);
}
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
switch (id) {
case R.id.action_setting: {
myBoolean=true;
return true;
}}}
答案 0 :(得分:0)
我从中得到的是您想基于操作栏中的某些菜单项单击显示一个视图吗?如果是这样,那就这样做。
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {
case R.id.action_setting:
if(myBoolean){
findViewById(R.id.checkBox).setVisibility(View.GONE);
myBoolean = false;
}else{
findViewById(R.id.checkBox).setVisibility(View.VISIBLE);
myBoolean = true;
}
return true;
default:
return super.onOptionsItemSelected(item);
}
}
您无法在代码中更早地确定可见性,因为单击可能仅在onCreate()之后的某个时间发生。