java - 调用函数以显示/隐藏来自另一个类的 ImageView

标签 java android

在我的 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/

相关文章:

c# - 向 java servlet 提供信息

Android互联网连接检查问题

c# - FindViewById() 如何工作?

php - 我们可以让 Flex-LAMP 应用程序在 Android 上运行吗

android - 将焦点放在android中 ListView 的任何项目上

java - 为什么我从类里面获取的值(value)观会被结合在一起?

java - 无法解析符号 'default_web_client_id' 错误,但应用程序运行成功

Java jTable添加带有base64图像的html img标签

java - Android 存储和检索数据列表的最佳方法

Android - 如何从 kotlin 流中读取值?