J'ai vraiment des problèmes avec la méthode setEmptyView. J'ai essayé de l'implémenter dans GridView et ListView, mais les deux ne fonctionnaient pas. Voici un échantillon codeblock:Utilisation correcte de setEmtpyView dans AdapterView
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());
L'adaptateur réseau contient aucun élément:
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;
}
}
J'ai aussi essayé d'appeler networkGames.setAdapter (null), mais ce travail ne marche pas non plus. Mon emtpyView ressemble à ceci:
<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>
Je ne sais vraiment pas ce que je fais mal. J'ai également lu divers tutoriels, mais aucun d'entre eux n'a rencontré de problèmes.
J'ai ajouté la disposition ci-dessus à la fin de la mise en page où je définis ma vue de grille. mais néanmoins il n'est pas affiché – RoflcoptrException
hmm est-il possible que je doive définir le gridview et le emptyview exclusivement (sans autres éléments de mise en page comme des boutons) dans un fichier xml séparé? – RoflcoptrException
J'ai modifié la réponse avec l'exemple. Cela fonctionne très bien sur Android 2.1. HTH! – Karan