android - 从 Activity 的适配器中设置 ImageView 可见/不可见

标签 android listview imageview

我有一个在 ImageView ( ListView 的背景)上有一个 ListView 的 Activity 。当 Activity 适配器的数组列表为空时,我想将 ImageView 设置为可见,而当我的数组列表中有一个或多个对象时,我想将 ImageView 设置为不可见。

每当我更改数组列表时,我都会从适配器中调用它:

((MainActivity)context).checkForLogo();

以及 MainActivity 上的 checkForLogo 方法:

public void checkForLogo()
{
    ImageView logoView = (ImageView)findViewById(R.id.imageViewLogo);
    if (adapter.getCount() == 0)
        logoView.setVisibility(View.VISIBLE);

    else
        logoView.setVisibility(View.INVISIBLE);
}

我收到 NullPointerException。当我直接从 Activity 中设置可见性时,它就会起作用(来自 onCreate 的示例)。但这对我的问题不起作用,因为每次修改适配器的数组列表时我都需要这样做。

最佳答案

尝试声明你的 logoView 全局并在 onCreate 中初始化它

关于android - 从 Activity 的适配器中设置 ImageView 可见/不可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21974239/

相关文章:

java - Android 中位图的 inJustDecodeBounds

java - 单击列表项后显示图像

android - 如何使 'android unlocker' 应用程序更安全地抵御黑客攻击?

android - 覆盖 android gradle versionCode 表单命令行

java - ListView 更改文本中的文本颜色

c# - 如何隐藏 ListView 控件中的列?

android - 在 Android 中用透明颜色填充 Canvas

java - 当我按下一个键时 onKeyUp 没有启动

android - 滚动 ListView 后无法将项目添加到 ListView

android - 如何在android顶部的 ListView 中添加新项目