J'ai essayé de résoudre le problème, mais je n'arrive pas à trouver ce que je cherche Google depuis quelques jours. penché vers ce que je veux faire, mais n'ai pas couru à travers tout ce qui est ce que je suis en train de faire. Pour commencer, j'ai construit ma base de données SQLite avec "TheNewBoston Android Tuts" tout fonctionne bien, maintenant que j'essaie de changer la base de données de vue autour d'elle des erreurs ou bloque l'application au démarrage. Je veux afficher certaines colonnes dans une rangée de la DB avec le curseur en utilisant la boucle for et charger dynamiquement le TableView avec les données:Android SQLite: affichage des entrées de données
DbEntry [data | données | Affiché | données | Afficher | Afficher | données]
Je peux le faire si j'ai un TextView seul, mais avec un TableLayout> TableRow je pense que c'est là que le problème est mais pas sûr ... aimerait être en mesure de charger les lignes de la table de la classe elle-même au lieu de définir les vues de texte si possible. J'espère avoir donné assez d'informations sur ce que j'essaie de faire, si quelqu'un peut me diriger vers un très bon tutoriel ou donner un peu de lumière sur ce sujet, cela sera grandement apprécié.
XML:
<TableLayout
android:id="@+id/view_Table"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:weightSum="5" >
<TableRow
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="4" >
<TableRow
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1" >
<TextView
android:id="@+id/view_DbCol3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="DB Col 3 Displayed Data" />
</TableRow>
avec xml j'espère que je suis en train de faire la bonne table que son semblable à HMTL genre de choses en plaçant des rangées de table à côté les uns des autres
SQLview Classe
setContentView(R.layout.sqlview);
TextView tv = (TextView) findViewById(R.id.view_DbCol3);
try {
DBload info = new DBload(this);
info.open();
String data = info.getData();
info.close();
tv.setText(data);
} catch (Exception e) {
// Error Message Dialog
String error = e.getLocalizedMessage();
Dialog d = new Dialog(this);
d.setTitle("DB ERROR");
TextView tv1 = new TextView(this);
tv1.setText(error);
d.setContentView(tv1);
d.show();
}
DbHelper Classe: getData Méthode
public String getData() {
String[] cols = new String[] {KEY_PLACE};
// I have also tried with all my KEY variables
// reads info from DB columns
Cursor c = ourDB.query(KEY_TABLE, cols, null, null, null, null, null);
String result = "";
int Ione = c.getColumnIndex(KEY_PLACE);
for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {
result = result
+ c.getString(Ione)
+ "\n";
}
return result;
}
l'erreur je reçois est
11-17 00: 13: 09,993: E/CursorWindow (590): demande illicite pour l'emplacement de champ 0, -1. numRows = 2, numColumns = 1
comme je l'ai dit j'espère avoir donné suffisamment d'informations pour peu d'aide si possible, merci beaucoup
utilisez simplement listview ... recherchez un exemple dans le dossier sdk ... NotePad project ou List7.java dans ApiDemos – Selvin