使用ListActivity时,可以通过编程方式将"android:empty"TextView设置为setText()吗?

DJC*_*DJC 0 android listactivity settext

我使用扩展的ArrayAdapter填充ListActivity的ListView,以便为它返回的数据应用一些条件.由于几个可能的原因,适配器可能返回一个空集,并且由于这些条件是由用户设置的,我想在android:empty视图上使用setText()反馈信息.在ListActivity(setListAdapter之前和之后)我试过了

        TextView t = new TextView(this);
        t.setText("HEY!");
        getListView().setEmptyView(t);
Run Code Online (Sandbox Code Playgroud)

并且

        getListView().getEmptyView().setVisibility(View.GONE);
        TextView t = new TextView(this);
        t.setText("HEY!");
        ((ViewGroup)getListView().getParent()).addView(t);
        getListView().setEmptyView(t);
Run Code Online (Sandbox Code Playgroud)

但我只在布局android:empty中设置了消息.

谢谢!

DJC*_*DJC 8

我很惊讶这没有出现并且已经得到了回答......我认为它非常有用.没有花太多时间去寻找答案:

    MyAdapter mAdapter = new MyAdapter(this, R.layout.file_row, data);      
    setListAdapter(mAdapter);
    ListView listView = (ListView)findViewById(android.R.id.list);
    if (mShowOnlySomeSubset) {
        listView.setEmptyView(findViewById(R.id.emptySubset));
    } else if (mShowOnlySomeOtherSubset) {
        listView.setEmptyView(findViewById(R.id.emptyOtherSubset));
    } else {
        listView.setEmptyView(findViewById(android.R.id.empty));            
    }
Run Code Online (Sandbox Code Playgroud)

R.id.emptySubset和R.id.emptyOtherSubset是在与android:list和android:empty元素相同的布局.xml文件中定义的TextViews的id.

十分简单 :)