[ListView] Adapater / NullPointerException
Bonjour ,
J'aurais un souci concernant un : NullPointerException.
Je m'explique , je programme une application qui quand elle démarre arrive sur un écran d'acceuil ou l'on choisi :
- BUTTON 1 (vers : Begin.java): Importe une database(sqlite) , de ASSETS vers /data/data/package/databases/.(la tout va bien l'importation etc se fait bien)
- BUTTON 2 (Vers : List.java): Affichage de champs de la database (nom et prenom)
Et c'est dans le deuxième affichage List.java que j'aurais un souci.
Quand c'est pour afficher une liste Statique aucun problème.
Du style :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| public class List extends Activity implements OnClickListener {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second);
ListView lv1 ;
final String lv_arr[]={"Android","iPhone","BlackBerry","AndroidPeople","Symbian", "Soleil"};
lv1=(ListView)findViewById(R.id.list);
lv1.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1 , lv_arr));
Button button = (Button)findViewById(R.id.button1);
button.setOnClickListener(this);
}
@Override
public void onClick(View v) {
finish();
}
} |
Mais quand j'essaye de faire apparaitre les champs "nom" et "prenom" ... j'ai des erreurs...
Décryptage :
Code:
1 2 3
| Caused by : java.lang.NullPointerException
at com.importdatabase.DataseHelper.getPersonnes(DatabaseHelper.java:136)
at com.importdatabase.List.onCreate(List.java:19) |
Donc pour la ligne 136 : databaseHelper.java
Code:
1 2 3 4 5 6 7 8 9 10 11
| public ArrayList<String> getPersonnes() {
ArrayList<String> output = new ArrayList<String>();
String[] colonnesARecup = new String[] { "nom", "prenom" };
Cursor cursorResults = mydb.query(TABLE_LISTELEC, colonnesARecup, null,
null, null, null, "nom asc, prenom asc", null);
while (cursorResults.moveToFirst())
{
output.add(cursorResults.getString(0) + " " + cursorResults.getString(1));
}
return output;
} |
pour la ligne 19 : List.java
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| public class List extends Activity implements OnClickListener {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second);
DatabaseHelper dbh = new DatabaseHelper(this.getApplicationContext ());
ListView lvListe = (ListView)findViewById(R.id.listView1 );
lvListe.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,dbh.getPersonnes()));
Button button = (Button)findViewById(R.id.button1);
button.setOnClickListener(this);
}
@Override
public void onClick(View v) {
finish();
}
} |
Merci à vous ,
Cordialement ,