1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

Custom SimpleCursorAdapter

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von krackmoe, 10.12.2011.

  1. krackmoe, 10.12.2011 #1
    krackmoe

    krackmoe Threadstarter Junior Mitglied

    Beiträge:
    41
    Erhaltene Danke:
    0
    Registriert seit:
    02.03.2011
    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