Mit Listview-Steuerelement In einem benutzerdefinierten Dialogfeld (android)
Ive erstellt eine benutzerdefinierte adpater für meine Listenansicht aswell als mit meinen benutzerdefinierten Dialogfeld mit einer Liste anzeigen, aber ich habe keine Ahnung, wie die Verknüpfung der Daten in der listview in das benutzerdefinierte Dialogfeld (im einen wirklich schlechten job zu erklären, das weiß ich). Mein adapter verwendet ein listview -, checkbox-und ich würde gerne wissen, wie im in der Lage zu speichern, wenn es aktiviert oder nicht für das nächste mal die Anwendung öffnen.
Ich werde es in Schritten, so ist es nicht so verwirrend ist:
Ich möchte:
Erstellen Sie eine Listenansicht mit meinem adapter in mein vorhandenes benutzerdefiniertes Dialogfeld
Speichern des Status der checkbox für das nächste mal die Anwendung öffnen.
(seine nicht gezeigt, aber mein listview wird aufgerufen, listviewdialog)
Meiner Haupttätigkeit (nur das benutzerdefinierte Dialogfeld bit)
button = (Button) findViewById(R.id.button01);
//add button listener
button.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
//custom dialog
final Dialog dialog = new Dialog(context);
dialog.setContentView(R.layout.list);
dialog.setTitle("The List");
//set the custom dialog components - text, image and button
TextView text = (TextView) dialog.findViewById(R.id.TextView01);
text.setText("Did you not read the button? :P i'm not finshed on this yet XD");
Button dialogButton = (Button) dialog.findViewById(R.id.Button01);
//if button is clicked, close the custom dialog
dialogButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
}
});
dialog.show();
}
});
Meine Benutzerdefinierte Adapter:
package kevin.erica.box;
import kevin.erica.box.R;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.CheckBox;
import android.widget.ImageView;
import android.widget.TextView;
public class MobileArrayAdapter extends ArrayAdapter<String> {
private final Context context;
private final String[] values;
public MobileArrayAdapter(Context context, String[] values) {
super(context, R.layout.list_adapter, values);
this.context = context;
this.values = values;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View rowView = inflater.inflate(R.layout.list_adapter, parent, false);
CheckBox textView = (CheckBox) rowView.findViewById(R.id.checkBox1);
textView.setText(values[position]);
return rowView;
}
}
InformationsquelleAutor CarbonAssassin | 2012-04-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
In dem Teil, wo Sie setzen Ihren dialog:
Eine Letzte Sache, es sagt MobileArrayAdapter nicht gelöst werden können, um eine variable in der mListView.setAdapter(MobileArrayAdapter);
siehe edit oben. Wie für Ausdauer, obwohl, sind Sie wahrscheinlich besser dran, das erstellen einer Datenbank und der Anpassung, der mit einem CursorAdapter als mit einem ArrayAdapter
Ich habe 2 Fehler bei diesem. ich bekomme einen Konstruktor MobileArrayAdapter(neue Ansicht.OnClickListener(){}, String[]) is undefined " - Fehler und eine myAdapter nicht gelöst werden können, um eine variable Fehler, Jedenfalls, um es zu beheben?
gelesen haben sollten, Ihren code sorgfältig bearbeiteten oben
InformationsquelleAutor JRaymond