Sto implementando una list list ordinabile usando la libreria di bauerca qui . Funziona, ma ora ho bisogno di definire alcune cose in cui ho bisogno di aiuto. Questa è la funzionalità della mia app _
Posso creare fino a 5 nomi. Questi nomi vengono salvati in un database SQLite. Quindi, in altre attività, questi nomi vengono caricati dal database e mostrati per selezionare quelli che userò.
Con 5 nomi, ci sono diverse combinazioni che posso usare, ma il principio di base di questa app è che quando seleziono alcuni nomi, questi sono mostrati in una list list ordinabile dove posso ordinarli. Dopo averli ordinati, dovrebbero essere salvati in un altro database per ricordare la posizione di ciascuno.
Per questo, il secondo database ha queste colonne: NOME, GRUPPO, ORDINE.
Il mio approccio è questo: se seleziono ad esempio NAME1
e NAME2
, questo sarebbe GROUP2_1
. Se seleziono NAME1
e NAME3
questo sarebbe GROUP2_2
... e questo con tutte le combinazioni possibili. Quindi, nella colonna ORDER
, la posizione di ciascun nome nella listview viene salvata.
Ma sembra che questo approccio con la colonna GROUP non funzioni ... salva la posizione di ciascun nome, ma indipendentemente dal gruppo a cui appartiene. Ad esempio, se ho questi nomi:
MARK
PAUL
JERRY
Se seleziono MARK e JERRY, la listview per la prima volta le mostrerebbe in questo modo:
MARK
JERRY
Ma ora li ordino:
JERRY
MARK
Quindi questa combinazione appartiene a GROUP2_1 e JERRY ha 1 valore nella colonna ORDER e MARK the 2.
Se ora torno indietro e seleziono questa altra combinazione:
MARK
PAUL
JERRY
Questo dovrebbe essere GROUP3_1, e ora li seleziono in questo modo:
MARK
JERRY
PAUL
Quindi ora MARK ha valore ORDER 1, JERRY 2 e PAUL 3.
Ora se torno indietro e carica nuovamente la prima combinazione, caricherà i nomi con l'ultimo valore ORDER assegnato, invece di caricare in questo ordine:
JERRY
MARK
Li caricherà utilizzando i valori delle ultime combinazioni:
MARK
JERRY
Ci scusiamo per una spiegazione così lunga, ma non conosco altro modo migliore per spiegare il mio problema. Nel riprendere, il problema è che il valore ORDER è assegnato a ciascun nome, indipendentemente dal GRUPPO, quindi questo non è un approccio valido per ciò che ho bisogno di ottenere.
Aggiorna - definizione chiave
Questa è la mia tabella corrente:
db.execSQL("CREATE TABLE " + TABLE_NAME + " (" +
TravelOrder._ID + " INTEGER PRIMARY KEY AUTOINCREMENT," +
TravelOrder.NAME + " TEXT NOT NULL " +
");");