Hey Leute,
da ich mich kurz halten möchte. Hier eine kurze Zusammenfassung:
Die erste Activity hat einen NumberPicker und die gewählte Nummer wird an die nächste Activity weitergegeben. Dort habe ich eine GridView und beim ersten Durchlauf erzeugt der Code eine ArrayList mit Elementen "PlayerX" (X = eine Zahl von 1 bis zum Wert aus dem NumberPicker)
Alles funktioniert gut, aber ich kann die Werte nicht aktualisieren.
Wenn der Benutzer auf einen Namen klickt (z.B. "Player2"), öffnet sich ein AlertDialog mit dem Namen im Titel und einem EditText. Nach dem Bestätigen des neuen Namens mit dem Positiv-Button wird der neue Name gespeichert, aber nicht in der Grid-Ansicht angezeigt. Wenn ich erneut auf den gleichen Namen ("Player2") klicke, wird der neue Name jedoch im Titel des AlertBuilders angezeigt. Später in der App, steht aber wieder Player2 und nicht der neu eingegebene Name.
Der gesamte Code läuft im CustomAdapter. Hier der Code:
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
convertView.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View view) {
//um tastatur automatisch zu öffnen und schließen
final InputMethodManager imm = (InputMethodManager) getContext().getSystemService(Context.INPUT_METHOD _SERVICE);
//andere Listview
LayoutInflater linf = LayoutInflater.from(getContext());
final View inflator = linf.inflate(R.layout.builder_window, null);
AlertDialog.Builder alert = new AlertDialog.Builder(getContext());
alert.setTitle(birdList.get(position));
alert.setView(inflator);
final EditText et1 = (EditText) inflator.findViewById(R.id.edit_name);
alert.setPositiveButton("Continue", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
String s1=et1.getText().toString();
adapter.remove(birdList.get(position));
adapter.insert(s1, position);
adapter.notifyDataSetChanged(); } });
alert.setNegativeButton("Delete", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) {
adapter.remove(birdList.get(position));
adapter.notifyDataSetChanged();
}
});
alert.setNeutralButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
dialog.cancel();
}
});
alert.show();
}
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Sorry weiß leider nicht, wie man einen code einfügt.
Das funktioniert aber relativ problemlos beim Löschen. Dort wird die Liste nach dem Drücken des "Delete"Knopfes aktualisiert und löscht einen Wert (aber den letzten und nicht den ausgewählten)
Bitte, könnt ihr mir helfen? Ich mache jetzt an dem blöden Problem schon etliche Stunden rum und komme einfach auf kein Ergebnis...
Danke im Voraus
da ich mich kurz halten möchte. Hier eine kurze Zusammenfassung:
Die erste Activity hat einen NumberPicker und die gewählte Nummer wird an die nächste Activity weitergegeben. Dort habe ich eine GridView und beim ersten Durchlauf erzeugt der Code eine ArrayList mit Elementen "PlayerX" (X = eine Zahl von 1 bis zum Wert aus dem NumberPicker)
Alles funktioniert gut, aber ich kann die Werte nicht aktualisieren.
Wenn der Benutzer auf einen Namen klickt (z.B. "Player2"), öffnet sich ein AlertDialog mit dem Namen im Titel und einem EditText. Nach dem Bestätigen des neuen Namens mit dem Positiv-Button wird der neue Name gespeichert, aber nicht in der Grid-Ansicht angezeigt. Wenn ich erneut auf den gleichen Namen ("Player2") klicke, wird der neue Name jedoch im Titel des AlertBuilders angezeigt. Später in der App, steht aber wieder Player2 und nicht der neu eingegebene Name.
Der gesamte Code läuft im CustomAdapter. Hier der Code:
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
convertView.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View view) {
//um tastatur automatisch zu öffnen und schließen
final InputMethodManager imm = (InputMethodManager) getContext().getSystemService(Context.INPUT_METHOD _SERVICE);
//andere Listview
LayoutInflater linf = LayoutInflater.from(getContext());
final View inflator = linf.inflate(R.layout.builder_window, null);
AlertDialog.Builder alert = new AlertDialog.Builder(getContext());
alert.setTitle(birdList.get(position));
alert.setView(inflator);
final EditText et1 = (EditText) inflator.findViewById(R.id.edit_name);
alert.setPositiveButton("Continue", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
String s1=et1.getText().toString();
adapter.remove(birdList.get(position));
adapter.insert(s1, position);
adapter.notifyDataSetChanged(); } });
alert.setNegativeButton("Delete", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) {
adapter.remove(birdList.get(position));
adapter.notifyDataSetChanged();
}
});
alert.setNeutralButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
dialog.cancel();
}
});
alert.show();
}
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Sorry weiß leider nicht, wie man einen code einfügt.
Das funktioniert aber relativ problemlos beim Löschen. Dort wird die Liste nach dem Drücken des "Delete"Knopfes aktualisiert und löscht einen Wert (aber den letzten und nicht den ausgewählten)
Bitte, könnt ihr mir helfen? Ich mache jetzt an dem blöden Problem schon etliche Stunden rum und komme einfach auf kein Ergebnis...
Danke im Voraus
Comment