Je crée une activité qui utilise des onglets qui peuvent également être glissés horizontalement. J'utilise aussi Actionbar Sherlock (ABS) pour la compatibilité pré-3.0.Utilisation d'une classe personnalisée avec FragmentTabsPager sous ActionbarSherlock
J'ai trouvé une bonne implémentation du FragmentTabsPager avec ABS de l'utilisateur de Stackoverflow Sparky sur http://code.google.com/p/sherlock-demo/source/browse/#git%2Fsrc%2Fcom%2Fexample%2Fandroid%2Fsherlockdemo.
Il met en place un adaptateur comme suit:
String[] mAccts; // source data for the list
// populate mAccts with an array of Strings ...
setListAdapter(new ArrayAdapter<String> (getActivity(),
R.layout.simple_list_item_checkable_1,
android.R.id.text1, mAccts));
Cela fonctionne bien si l'élément de liste est une chaîne, mais mon élément listview arrive à avoir deux cordes plus une image. J'ai donc essayé de changer le code pour travailler avec ma classe personnalisée comme suit:
ArrayList<MyItem> mItems = new ArrayList<MyItem>(); // new source data
// populate mItems with an array of MyItems ...
setListAdapter(new MyItemAdapter(getActivity(), R.layout.my_list, mItems));
Où MyItemAdapter est
public class MyItemAdapter extends ArrayAdapter<MyItem> { ... }
MyItemAdapter comprend également une fonction getView() pour tirer les bons champs de MyItem et gonfle le my_list XML. PROBLÈME: Il semble que les changements ci-dessus devraient fonctionner, mais la classe à laquelle setListAdapter() est appelée dans l'exemple est déclarée statiquement, et MyItemAdapter appelle getSystemService(), qui n'est pas statique. Le résultat est que j'obtiens une erreur:
Cannot make a static reference to the non-static method getSystemService(String)
J'ai essayé de rendre la fonction d'appel non statique, mais cela semble rompre l'exemple de code.
Des idées pour résoudre ce problème? J'apprécie toute aide!