Android开发:如何在菜单中调用控件(如Button、TextView……)

版权声明:此博客上带有原创标识的文章、图片、文件等,未经本人允许,不得用于商业用途。网络媒体、传统媒体或个人转载请注明出处和链接,否则属于侵权行为。 https://blog.csdn.net/nny886/article/details/83824246

当我们在类内定义控件的全局变量时,如Button……,只能在onCreate()等中初始化,而不能在全局范围中初始化,这样的控件变量引用在菜单中不好引用,会报错。
如果想在菜单中调用控件,可以在菜单中重新定义控件变量来建立引用。如下,在选项菜单中建立控件引用,可以在这里操控它。
当然还可以在类内定义一个List全局变量(元素为View),在onCreate()中将各种控件赋入,也可以全局调用,这里不再举例。
public class FileNewObservationDocumentActivity extends AppCompatActivity {
//Button btn_OK=findViewById(R.id.btn_OK);,不可以初始化,编译报错
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTitle(“新建观测文件”);
setContentView(R.layout.activity_file_new_observation_document);
Button btn_OK=findViewById(R.id.btn_OK);//只能在此初始化
————————————
}
——————————————————
//选项菜单的点击事件
@Override
public boolean onOptionsItemSelected(final MenuItem menuItem) {
Button btn_OK=findViewById(R.id.btn_OK);//可以在次建立引用,与onCreate()中同名,但作用域冲突,不会报错。
btn_OK.setVisibility(View.INVISIBLE);//可以设置按钮不可见等各种行为
}
}

猜你喜欢

转载自blog.csdn.net/nny886/article/details/83824246