我有一個listview在圖像視圖(排序列表視圖的背景)的活動。當活動適配器的數組列表爲空時,我想設置imageview可見,並且當我的數組列表中有一個或多個對象時,我想將imageview設置爲不可見。設置ImageView可見/不可見從活動的適配器
每當我改變ArrayList中,我從適配器調用此:
((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異常。當我直接從活動設置可見性時,它就可以工作(來自onCreate的示例)。但是這對我的問題不起作用,因爲我需要在每次修改適配器的數組列表時修改它。
適配器或logoView可以爲空。嘗試調試它。你會找到解決方案。 – Devrim
聲明它靜態(圖像視圖),並從這樣的適配器訪問 - MainActivity.logoView.setVisibility(View.VISIBLE);作爲Zhenxiao Hao的建議。 –
我不認爲這是一個好的解決方案。 – Devrim