problem mit listview onitemclick

A

Astarte

Neues Mitglied
0
Hallo, habe das problem, das, wenn ich einen listview eintrag anklicke, ich einen alert-dialog augebe. aber: da steht nicht der listview eintrag drinnen, sondern nur: at.example.test@Kunden 234b74

Die listview wird über ein extra-layout mit 3 textviews angezeigt und über eine datenbank importiert.


Code:
public class MainActivity extends Activity {
    
        ListView list;
        Animation myAnimation;
        private DBAdapter db;
        
        
        
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    
   db = new DBAdapter(this);
   db.open();
   
   List<Kunde> kunden = db.getAllKunde();
   list = (ListView)findViewById(R.id.listViewStamm);
   KundeListViewAdapter kundeadapter = new KundeListViewAdapter(this, R.layout.kunden_datensatz, kunden);
   list.setAdapter(kundeadapter); 
   list.setTextFilterEnabled(true); 
   
    myAnimation = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.fadeoutfadein);    
    list.setOnItemClickListener(new OnItemClickListener(){ 
        
        @Override
        public void onItemClick(AdapterView<?> arg0, View view, int position,
                long id) {
            
            AlertDialog.Builder adb = new AlertDialog.Builder(
                    MainActivity.this);
                    adb.setTitle("ListView OnClick");
                    adb.setMessage("Selected Item is = "
                    + list.getItemIdAtPosition(position));
                    adb.setPositiveButton("Ok", null);
                    adb.show();                     
                    list.setAnimation(myAnimation);                                                }
                                                    });
    
            
        }
 
Hi,

nun über folgenden Code
Code:
list.getItemIdAtPosition(position)

holst Du dir ja nur das jeweilige Objekt in der ListView.

So wie ich das sehe hast Du wahrscheinlich in der ListView Elemente von der Klasse "Kunde" drin. Dann musst Du auch auf die jeweiligen Eigenschaften dieses Objekts zugreifen.

z.B.:
Code:
list.getItemIdAtPosition(position).[COLOR=Orange]Vorname [/COLOR]+ list.getItemIdAtPosition(position).[COLOR=Orange]Nachname[/COLOR]
 
Danke für deine hilfe, hab das jetzt SO gelöst :scared:


Code:
public class MainActivity extends Activity {
    
        ListView list;
        
        private DBAdapter db;
        
        
        
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    
   db = new DBAdapter(this);
   db.open();
   
   List<Kunde> kunden = db.getAllKunde();
   list = (ListView)findViewById(R.id.listViewStamm);
   
   list.setOnItemClickListener(new AdapterView.OnItemClickListener() {

    @Override
    public void onItemClick(AdapterView<?> arg0, View view, int arg2, long arg3) {
        // TODO Auto-generated method stub
         TextView txt = (TextView)view.findViewById(R.id.txt_list_kundename);
         Toast.makeText(arg0.getContext(), txt.getText().toString(), Toast.LENGTH_SHORT).show();
    }
       
   });
   KundeListViewAdapter kundeadapter = new KundeListViewAdapter(this, R.layout.kunden_datensatz, kunden);
   list.setAdapter(kundeadapter); 
   
    }
    
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.main, menu);
        return true;
 

Ähnliche Themen

A
Antworten
10
Aufrufe
1.021
swa00
swa00
S
Antworten
4
Aufrufe
995
Sempervivum
S
D
Antworten
9
Aufrufe
1.768
jogimuc
J
Zurück
Oben Unten