【问题标题】:Set 2 different images for two different empty listview in the same application在同一应用程序中为两个不同的空列表视图设置 2 个不同的图像
【发布时间】:2012-02-11 08:01:15
【问题描述】:

实际上,当我有单个列表时,我可以在我的应用程序中使用空 listview。但是我遇到了两个使用相同 xml 的不同列表。现在我应该如何继续当它们是时,将 2 个不同的图像添加到我的不同列表中,

【问题讨论】:

    标签: android xml android-listview empty-list


    【解决方案1】:

    如果您使用的是 id 为 android.R.id.empty 的 imageview。

    然后简单地使用这个

    ImageView image=(ImageView)findviewbyid(android.R.id.empty);
    

    并设置所需的图像。

    【讨论】:

    • 50% 接受......在我的第二个空列表中获得了第二个图像。但是当它用项目膨胀时,它仍然显示没有任何项目的空视图背景。
    【解决方案2】:

    是的,Akki 几乎是正确的,只是在我的 XMl 中进行了一些更改。最终代码在这里 我必须使用列表 xml 文件中描述的相同 textview。

            TextView tv=(TextView)findViewById(android.R.id.empty);
            tv.setBackgroundResource(R.drawable.anniversary_reminder);
    

    【讨论】:

      【解决方案3】:

      当您的列表不为空时,将您想要的任何图像的可见性设置为 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);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-01-21
        • 2022-01-22
        • 1970-01-01
        • 1970-01-01
        • 2015-04-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多