- Forum-Beiträge: 187
16.07.2014, 19:50:18 via Website
16.07.2014 19:50:18 via Website
Hallo wiedermal.
Ich habe es fertig gebracht eine Listview zu erstellen ala simple_list_item_2. funktioniert tadellos, der onclickitemlistener ist auch funktionsbereit. ich habe auch per Log.i herausgefunden wie man das ganze abruft. nun möchte ich das bei auswahl die dementsprechende id zurückgegeben wird. Wie mache ich das am einfachsten? So sieht das ganze schon mal aus......
ublic class projektListView extends ListActivity {
db_syncAll_options db = new db_syncAll_options(this);
SavePreferences sp = new SavePreferences(this);
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.projekt_listview);
ListView listView = (ListView)findViewById(android.R.id.list);
ArrayList<Map<String, String>> list = buildData();
String[] from = { "Titel", "Subtitel" };
int[] to = { android.R.id.text1, android.R.id.text2 };
SimpleAdapter adapter = new SimpleAdapter(this, list,
android.R.layout.simple_list_item_2, from, to);
listView.setAdapter(adapter);
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
final String item = parent.getItemAtPosition(position).toString();
String[] ids = item.split(".", 1);
sp.setP("id_projekt",ids[0]);
}
});
}
private ArrayList<Map<String, String>> buildData() {
ArrayList<Map<String, String>> list = new ArrayList<Map<String, String>>();
db.open();
String db_name = "gd_projekt";
String[] back = {"id_projekt","projektName"};
String where = "id_user = '"+ sp.viewP("id")+ "'";
String order = "id_projekt DESC";
String group = null;
String limit = null;
Cursor c = db.whileQuery(db_name, back, where, order, group, limit);
Log.i("bishier","hin");
c.moveToFirst();
do{
String titel ="";
if(c.getString(c.getColumnIndex("projektName")) != null && !c.getString(c.getColumnIndex("projektName")).equals("")){
titel = Integer.toString(c.getInt(c.getColumnIndex("id_projekt")))+". "+ c.getString(c.getColumnIndex("projektName"));
}else{
titel = Integer.toString(c.getInt(c.getColumnIndex("id_projekt")))+". Unbekannt";
}
String id = Integer.toString(c.getInt(c.getColumnIndex("id_projekt")));
String dbGlasB = "gd_bestell_glas";
String whereIdProjekt = "id_projekt = '"+id+"'";
if(db.exist(dbGlasB, whereIdProjekt )){
String[] back2 = {"breite","hohe","dicke","name"};
String order2 = "objektNr DESC";
String limit2 = "0,1";
Cursor c2 = db.whileQuery(dbGlasB, back2, whereIdProjekt, order2, group, limit2);
// c2.moveToFirst();
String breite = Integer.toString(c2.getInt(c2.getColumnIndex("breite")));
String hohe = Integer.toString(c2.getInt(c2.getColumnIndex("hohe")));
String dicke = Integer.toString(c2.getInt(c2.getColumnIndex("dicke")));
String name = c2.getString(c2.getColumnIndex("name"));
String subTitel = breite+" x "+hohe+ " x "+ dicke + "mm - " + name;
list.add(putData(titel,subTitel));
}else{
list.add(putData(titel,"kein weiteren Daten vorhanden"));
}
}while(c.moveToNext());
db.close();
return list;
}
private HashMap<String, String> putData(String name, String purpose) {
HashMap<String, String> item = new HashMap<String, String>();
item.put("Titel", name);
item.put("Subtitel", purpose);
return item;
}
}
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.