我真的在使用 setEmptyView 方法时遇到了麻烦。我尝试在 GridView 和 ListView 中实现它,但它们都没有工作。这是一个示例代码块:
networkGames = (GridView) baseLayer.findViewById(R.id.all_game_grid_network);
networkGames.setBackgroundResource(R.drawable.game_border);
networkGames.setSelector(R.drawable.game_active_border);
networkGames.setOnItemClickListener(new NetworkGameListener());
networkGames.setEmptyView(View.inflate(baseLayer, R.drawable.no_network_games, null));
networkGames.setAdapter(new NetworkAdapter());
网络适配器不包含任何项目:
private class NetworkAdapter extends BaseAdapter {
/* (non-Javadoc)
* @see android.widget.Adapter#getCount()
*/
@Override
public int getCount() {
return 0;
}
/* (non-Javadoc)
* @see android.widget.Adapter#getItem(int)
*/
@Override
public Object getItem(int position) {
return null;
}
/* (non-Javadoc)
* @see android.widget.Adapter#getItemId(int)
*/
@Override
public long getItemId(int position) {
return 0;
}
/* (non-Javadoc)
* @see android.widget.Adapter#getView(int, android.view.View, android.view.ViewGroup)
*/
@Override
public View getView(int position, View convertView, ViewGroup parent) {
return null;
}
}
我也尝试调用 networkGames.setAdapter(null),但这也不起作用。我的 emtpyView 看起来像这样:
<LinearLayout
android:id="@+id/LinearLayout01"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<TextView
android:text="There are currently no network games available. Start a new one."
android:id="@+id/TextView01"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center">
</TextView>
</LinearLayout>
我真的不知道我做错了什么。我还阅读了各种教程,但没有一个提到任何问题。