Проблема заключается в том, что emptyView
никогда не привязывается ни к чему, если вы используете addView()
:
TextView emptyView = new TextView(this);
((ViewGroup) getListView().getParent()).addView(emptyView);
emptyView.setText("It's empty!");
getListView().setEmptyView(emptyView);
Теперь вы будете видеть это!
Я написал быстрый Runnable чередовать между пустой/"полный" ...
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);
}
}
вы можете опубликовать свой макет? – fedepaol
Это просто ListActivity без xml. – NightStrider
«но это не сработало». смысл .... Вы получаете какую-либо ошибку, «TextView» без текста, ничего. Ваша 'деятельность'' расширяет ListActivity', правильно? – codeMagic