- Forum-Beiträge: 187
08.09.2014, 23:18:40 via Website
08.09.2014 23:18:40 via Website
Hallo zusammen, ich habe etwas versucht, das eigentlich einwandfrei geklappt hat. bis auf..
Ich möchte eine ListView aufrufen, der haken daran ist, dieser wird über einen AlertBuilder gestartet
,da ich mir dachte, mach doch einfach eine Class für alle Alerts.
function_alertBuilder ab = new function_alertBuilder();
ab.showAlert(this,getResources().getString(R.string.pu_MenuNamen), null, null, auswahl,null);
Nun ist es so, das es gleich von anfang an geklappt hat.
Die Klasse sieht nun so aus :
package com.awad.awad;
class function_alertBuilder{
public void showAlert(final Context ctx,final String titel,final Cursor c,String column,String[] value,final String id){
final db_syncAll_options db = new db_syncAll_options(ctx);
int viewGroup = android.R.layout.simple_list_item_1;
AlertDialog.Builder builderSingle = new AlertDialog.Builder(ctx);
builderSingle.setIcon(R.drawable.icon_m);
builderSingle.setTitle(titel);
final ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(ctx,viewGroup);
if(c != null){
do{
arrayAdapter.add(db.string(c, column));
if(id != null){
arrayAdapter.getItemId(Integer.parseInt(db.string(c, id)));
}
}while(c.moveToNext());
}
if(value != null){
for(int i=0;i<value.length;i++){
arrayAdapter.add(value[i]);
}
}
builderSingle.setNegativeButton("Abbrechen",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
builderSingle.setAdapter(arrayAdapter,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Log.i("shwoSingleDialog","oncklicklistener activ");
String strValue = arrayAdapter.getItem(which);
String id = Integer.toString(which);
loadOption(strValue,id,c,titel,ctx);
dialog.dismiss();
}
});
builderSingle.show();// TODO Auto-generated method stub
}
protected void loadOption(String strValue,String id,Cursor c,String titel,Context ctx){
Log.i("Geladen","value= "+ strValue + "/ id ="+id+"/ titel ="+titel);
if(titel.equals(ctx.getResources().getString(R.string.pu_MenuNamen))){
projektUebersicht pu = new projektUebersicht();
if(strValue.equals(ctx.getResources().getString(R.string.pu_telefonbuch))){
pu.loadTelefonbuch();
}
if(strValue.equals(ctx.getResources().getString(R.string.pu_datenbank))){
}
if(strValue.equals(ctx.getResources().getString(R.string.pu_neu))){
}
}
}
}
Das klappt also. nun aber möchte ich ja wieder zurück zur Activity, und die befehle entgegen nehmen.. per
projektUebersicht pu = new projektUebersicht();
if(strValue.equals(ctx.getResources().getString(R.string.pu_telefonbuch))){
pu.loadTelefonbuch();
}
Funktioniert auch tadellos. nur jetzt kommt das Problem, gleich bei der ersten funktion die ich starten wollte, hätte es eine neue Activity laden sollen, und das von derActivity wo ich gestartet bin..
Log.i("Load", "UserPhonebook");
Intent intent = new Intent(projektUebersicht.this,telefonbuchAuslesen.class);
Anhand vom Log, weiss ich das es ankommt, doch weshalb funktioniert das Intent nicht mehr?
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.