設置一個 ListActivity的默認view。
我試過:
TextView emptyView = new TextView(this);
emptyView.setText("No lists available");
this.getListView().setEmptyView(emptyView);
但是沒實現。
建議
問題出在emptyView沒有綁定別的東西。如果你用addView():
TextView emptyView = new TextView(this);
((ViewGroup) getListView().getParent()).addView(emptyView);
emptyView.setText("It's empty!");
getListView().setEmptyView(emptyView);
就可以了。
寫了一簡單的交替empty和full的:
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);
}
}