在我的 MainActivity 类中我有这个方法:
主 Activity .java
public void ClearImageViews() {
final ImageView image_a = (ImageView)findViewById(R.id.image_a);
image_a.setVisibility(View.INVISIBLE);
}
在另一个文件中我有另一个类,它像这样调用 ClearImageViews 方法:
MainActivity mainActivity = new MainActivity();
mainActivity.ClearImageViews();
我从 findViewById 函数运行代码时得到 NullPointerExpection。当我注释掉这些行时:
final ImageView image_a = (ImageView)findViewById(R.id.image_a);
image_a.setVisibility(View.INVISIBLE);
代码运行良好。我究竟做错了什么?
最佳答案
您可能没有为 MainActivity
中所需的 xml 布局调用 setContentView()
。
您需要在 MainActivity
中调用 setContentView(R.layout.your_layout)
,其中 your_layout 是一个包含 ImageView 的 xml 文件。
或者,如果您做不到(因为例如您需要在 MainActivity
中使用另一个布局),您必须膨胀您的 ImageView。阅读有关膨胀 View 的信息。
关于java - 调用函数以显示/隐藏来自另一个类的 ImageView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12686032/