我有一个在 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/