私は現在、SQLiteデータベースとFirebaseデータベースを同期させる方法を模索しています。私のコードで起こっていただきました!私は本当に理解していないwherポイントへリストビューに重複して表示される項目は、SQliteに「true」が追加されますか?
ガット:P
データが正常にSQLiteのに追加され、私はこの全体のプロセスをログに記録するので、私はまた、それは一度だけ追加されます知っています私がリストビューに表示したい場合はUNIQUE にテキストを設定し、 はそれがすべてのこのような重複したエントリ、表示されます。私のログでそう
を、それが「いつ「配列に真の追加」と言いますtrue "は、Drawing and Paintingのような特定の名前でなければならないが、とにかく絵画と絵画。混乱している! 私は、ArrayListが重複したエントリを作るのを防ぐ例外を使ってこれを処理しようとしました...
何か助けがありがとう! :)
selectedName = getIntent().getStringExtra("name");
// get data and append to a list
Cursor data = databaseHelper.getFirstSubData(selectedName);
//----------------Snipped of DatabseHelper--------------//
public Cursor getFirstSubData(String mainCat){
// SELECT SubCats FROM first_sub_table WHERE 'mainCat' = main cat
SQLiteDatabase database = this.getWritableDatabase();
String query1 = "SELECT " + FIRST_SUB_COL3 + " FROM " + COURSES_FIRST_SUB_TABLE
+ " WHERE " + FIRST_SUB_COL2 + " = '" + mainCat + "'";
Log.d(TAG, "SELECT " + FIRST_SUB_COL3 + " FROM " + COURSES_FIRST_SUB_TABLE
+ " WHERE " + FIRST_SUB_COL2 + " = '" + mainCat + "'");
Cursor data = database.rawQuery(query1, null);
return data;
}
// ---------------------End of snippet------------------//
ArrayList<String> sublistData = new ArrayList<>();
Log.d(TAG, "Cursor is on Position: " + data.getPosition());
while (data.moveToNext()) {
Log.d(TAG, "Inside the while loop");
Log.d(TAG, "Cursor is on Position: " + data.getPosition());
// get the value from the database in column 0 then add it to the array list
sublistData.add(data.getString(0));
Log.d(TAG, "ADDING " + sublistData.add(data.getString(0)) + " to ARRAY");
}
String size = Integer.toString(sublistData.size());
Log.d(TAG, "SIZE OF ARRAY IN SUB CAT IS " + size);
final ListAdapter adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, sublistData);
lvSubItems.setAdapter(adapter);
'Log.d ...'行から 'sublistData.add(data.getString(0))'を削除してみてください.1行目の値を取得するのではなく、 。 – MikeT
OMG!手伝ってくれてありがとうございました!...物事をコピー&ペーストして12時間働かせるとどうなりますか? –