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);
    }
}