Android 要设置ListActivity的EmptyView()
正如标题所示,我想为列表活动设置一个默认视图。我尝试过这样做:Android 要设置ListActivity的EmptyView(),android,layout,view,Android,Layout,View,正如标题所示,我想为列表活动设置一个默认视图。我尝试过这样做: TextView emptyView = new TextView(this); emptyView.setText("No lists available"); this.getListView().setEmptyView(emptyView); 但这不起作用。问题是,如果使用addView(),则emptyView从未附加到任何内容: 现在你会看到的 我写了一个快速的Runnable在空/满之间切换 公共类示例扩展了Lis
TextView emptyView = new TextView(this);
emptyView.setText("No lists available");
this.getListView().setEmptyView(emptyView);
但这不起作用。问题是,如果使用
addView()
,则emptyView
从未附加到任何内容:
现在你会看到的
我写了一个快速的Runnable在空/满之间切换
公共类示例扩展了ListActivity{
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
TextView emptyView=新的TextView(此);
((视图组)getListView().getParent()).addView(emptyView);
setText(“它是空的!”);
getListView().setEmptyView(emptyView);
getListView().postDelayed(新的Runnable()){
@凌驾
公开募捐{
if(getListAdapter()==null)
setListAdapter(新的ArrayAdapter(Example.this,android.R.layout.simple_list_item_1,新字符串[]{“It”,“Has”,“Content”});
其他的
setListAdapter(空);
getListView().postDelayed(this,2000);
}
}, 2000);
}
}
你能发布你的布局吗?它只是一个没有xml的ListActivity。“但这不起作用。”意思是……你有没有收到任何错误,TextView
没有文本,什么都没有。您的活动扩展了ListActivity
,对吗?为什么要使用((视图组)getListView().getParent()).addView(emptyView)
,而不仅仅是添加视图(emptyView)
?ListView
的父对象不是包含此代码的ListActivity
吗?ListView
的父对象不是包含此代码的ListActivity
?活动不是视图,ListView的父对象不能是活动。因此,addView()
不是ListActivity中的方法,它是一个编译时错误。。。如果你尝试一下你的建议,你可能已经能够自己回答这些问题了无论如何,有许多方法可以将emptyView
附加到布局。这只是一个引入了最少新概念的问题。很抱歉这个愚蠢的问题。我还在学习Android开发。我确实尝试过,但出现了一个编译错误,但我不明白为什么。问题是emptyView从未附加到任何内容,如果您使用addView():,能否请您详细说明一下句子?
TextView emptyView = new TextView(this);
((ViewGroup) getListView().getParent()).addView(emptyView);
emptyView.setText("It's empty!");
getListView().setEmptyView(emptyView);
public class Example extends ListActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView emptyView = new TextView(this);
((ViewGroup) getListView().getParent()).addView(emptyView);
emptyView.setText("It's empty!");
getListView().setEmptyView(emptyView);
getListView().postDelayed(new Runnable() {
@Override
public void run() {
if(getListAdapter() == null)
setListAdapter(new ArrayAdapter<String>(Example.this, android.R.layout.simple_list_item_1, new String[] {"It", "Has", "Content"}));
else
setListAdapter(null);
getListView().postDelayed(this, 2000);
}
}, 2000);
}
}