Hello !!
Bonjour, j'ai un petit (gros) problème. Alors voila je me suis entrainé à faire un adaptateur customisé, et je n'ai pas en de mal.
Dans les parametres de setAdapter, j'avais mis des tableaux :
PageSupervision.java :
A partir de cet exemple, je voulais commencer un autre projet, ou a la place de t1,d1,i1, je mettais juste une List<Item> affichant les elements d'une BDD.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 public class PageSupervision extends Activity { LayoutInflater mInflater; TextView vue; ListView l1; String[] t1={"0505050505","0606060606","0707070707"}; String[] d1={"KRO","NMO","MRO"}; int[] i1 ={R.drawable.ic_launcher,R.drawable.ic_launcher, R.drawable.ic_launcher}; int bt1= R.id.button1; int bt2= R.id.button2; int bt3= R.id.button3; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.page_supervision); l1=(ListView)findViewById(R.id.listSupervision); l1.setAdapter(new MyCustomAdapter(this.getApplicationContext(),t1,d1,i1,bt1,bt2,bt3)); } }
Donc dans mon DBHandler, il y a ce bout de code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 public List<Appareil> getAppareilNumber() { List<Appareil> appareilList = new ArrayList<Appareil>(); // Select All Query String selectQuery = "SELECT " + COLUMN_NUMERO + " FROM " + TABLE_APPAREILS; SQLiteDatabase db = this.getWritableDatabase(); Cursor cursor = db.rawQuery(selectQuery, null); // looping through all rows and adding to list if (cursor.moveToFirst()) { do { Appareil appareil = new Appareil(); appareil.setNumero(cursor.getString(1)); appareilList.add(appareil); } while (cursor.moveToNext()); } return appareilList; }
Et dans mon activité, j'invoque le setAdapter comme suit :
Cependant, quand le programme démarre, il plante de suite.. Je ne comprends pas pk...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); MyDBHandler db = null; l1=(ListView)findViewById(R.id.listView); l1.setAdapter(new CustomAdapterAppareil(this.getApplicationContext(),db.getAppareilNumber(),bt1,bt2));
Une idée?
Partager