【发布时间】:2012-02-11 08:01:15
【问题描述】:
实际上,当我有单个列表时,我可以在我的应用程序中使用空 listview。但是我遇到了两个使用相同 xml 的不同列表。现在我应该如何继续当它们是空时,将 2 个不同的图像添加到我的不同列表中,
【问题讨论】:
标签: android xml android-listview empty-list
实际上,当我有单个列表时,我可以在我的应用程序中使用空 listview。但是我遇到了两个使用相同 xml 的不同列表。现在我应该如何继续当它们是空时,将 2 个不同的图像添加到我的不同列表中,
【问题讨论】:
标签: android xml android-listview empty-list
如果您使用的是 id 为 android.R.id.empty 的 imageview。
然后简单地使用这个
ImageView image=(ImageView)findviewbyid(android.R.id.empty);
并设置所需的图像。
【讨论】:
是的,Akki 几乎是正确的,只是在我的 XMl 中进行了一些更改。最终代码在这里 我必须使用列表 xml 文件中描述的相同 textview。
TextView tv=(TextView)findViewById(android.R.id.empty);
tv.setBackgroundResource(R.drawable.anniversary_reminder);
【讨论】:
当您的列表不为空时,将您想要的任何图像的可见性设置为 VIEW.GONE。然后,您可以在布局中创建两个不同的图像。让它们最初设置为可见。
在 onCreate 方法中,在加载列表时检查您用于适配器的 ArrayList 以查看它是否为空。如果它不为空,则将图像的可见性设置为 VIEW.GONE。然后,您所要做的就是在列表中有删除时进行相同的检查。 (因为您无法通过添加更多条目来获得空列表)并且每当您向列表添加内容时,请将图像的可见性设置为 VIEW.VISIBLE。 (所以基本上无论你在哪里通知适配器上的数据更改)
希望这个逻辑能有所帮助!
ImageView emptyListImage1 = (ImageView) findViewById(R.layout.image1);
ImageView emptyListImage2 = (ImageView) findViewById(R.layout.image2);
emptyListImage1.setVisibility(VIEW.GONE);
emptyListImage1.setVisibility(VIEW.VISIBLE);
【讨论】: