原问题来自于CSDN问答频道,更多解决方案见:http://ask.csdn.net/questions/1656原问题描述:设置一个 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);
}
}java
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);
}
}java
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货