为 android ListView 设置空视图不适用于在 Java 中创建的视图
Posted
技术标签:
【中文标题】为 android ListView 设置空视图不适用于在 Java 中创建的视图【英文标题】:Setting empty view for android ListView not working for views created in Java 【发布时间】:2014-12-14 17:30:22 【问题描述】:如果 emptyView 是从 xml 膨胀的,我可以为 ListView 设置空视图。但是,如果我动态创建视图,它就不会出现。那么下面的代码有什么问题呢?
if (myData.isEmpty())
System.out.println(“there is no data“);
TextView emptyView = new TextView(this);
emptyView.setText("no data found");
myListView.setEmptyView(emptyView);
【问题讨论】:
您不需要myData.isEmpty()
检查。 EmptyView 仅在列表为空时显示。请务必在使用 listView.setAdapter() 之前使用 listVIew.setEmptyView()
你的问题解决了吗?
【参考方案1】:
在将其设置为空视图之前将空视图添加到父视图。
if (myData.isEmpty())
System.out.println(“there is no data“);
TextView emptyView = new TextView(this);
emptyView.setText("no data found");
ViewGroup parent = (ViewGroup) myListView.getParent();
parent.addView(emptyView);
myListView.setEmptyView(emptyView);
【讨论】:
谢谢。但这并不是我正在寻找的解决方案。通过将视图设置为父视图,实际上我什至不需要随后将其传递给 myListView 以使其显示。但是,如果下次列表周围 NOT 为空,则空字符串仍然可见。这当然不是我想要的。为了帮助您,想象一下我正在使用 EditText 视图在服务器上搜索数据,而 listView 是动态显示结果。所以我不会离开并返回活动:我会留在原地。以上是关于为 android ListView 设置空视图不适用于在 Java 中创建的视图的主要内容,如果未能解决你的问题,请参考以下文章