1. Wir haben diesmal 2 Gewinnspiele zeitgleich für euch - Gewinne einmal ein UMI Plus E - Beim 2ten könnt ihr ein Nomu S30 gewinnen!
  1. krackmoe, 10.12.2011 #1
    krackmoe

    krackmoe Threadstarter Junior Mitglied

    Ich hab mir einen eigenen SimpleCursorAdapter geschrieben, da ich pro Zeile einen Text und 2 Buttons ausgeben will.

    Wenn ich auf einen Button draufklicke, soll er in die Activity Lektion springen. Und in der Lektion soll er wissen von welchem Button er aus gekommen ist.
    Darum dachte ich mir, ich gebe die ID der Lektion dem Button als Bundle mit.
    Doch das funktioniert so nicht... Er nimmt mir immer nur die letzte gespeicherte ID.

    Code:
    public class LektionenCursorAdapter extends SimpleCursorAdapter{
    	private Cursor c;
    	private Context context;
    	private Bundle bundle;
    	
    	public LektionenCursorAdapter(Context context, int layout, Cursor c, String[] from, int[] to) {
    		super(context, layout, c, from, to);
    		this.c = c;
    		this.context = context;
    	}
    	
    	
    	public View getView(int pos, View inView, ViewGroup parent){
    	   if(inView == null){
    		   inView = View.inflate(context, R.layout.lektionenoverview_entry, null);
    	   }
           View row = inView;
    
    	   this.c.moveToPosition(pos);
    	   
    	   String id = this.c.getString(this.c.getColumnIndex("_id"));
    	   Log.i("Cursor", id);
    	   String description = this.c.getString(this.c.getColumnIndex("Description"));
    	   String info = this.c.getString(this.c.getColumnIndex("Info"));
    	   String test = this.c.getString(this.c.getColumnIndex("Test"));
    	   
    	   TextView descriptionTextView = (TextView)row.findViewById(R.id.description);
    	   Button infoButton = (Button)row.findViewById(R.id.infoButton);
    	   Button testButton = (Button)row.findViewById(R.id.testButton);
    	   
    	   bundle = new Bundle();
    	   bundle.putString("LektionNummer", id);
    	   
    	   descriptionTextView.setText(id+". "+description);
    	   
    	   if(info != null && info.length() > 0){		   
    		    infoButton.setOnClickListener(new OnClickListener() {			
    			public void onClick(View v) {
    				Intent intent = new Intent(context, Lektion.class);
    				intent.putExtras(bundle);
    				context.startActivity(intent);					
    			}
    		});
    		   
    	   }
    	   if(test != null && test.length() > 0){
    		   
    	   }
    	   return row;
    	}
    
    }
    
    
     

Diese Seite empfehlen