2010-06-07 10 views
8

J'ai ce code ci-dessous accéder à la valeur de l'élément ListView en chaîne et l'afficher en alerte?Comment obtenir la valeur d'un élément Listview sur lequel est cliqué dans android?

ListView shot = getListView(); 
shot.setOnItemClickListener(this); 

public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) { 

    String S = arg1.getContext().toString(); 
    AlertDialog.Builder alertbox = new AlertDialog.Builder(this); 

    // set the message to display 
    alertbox.setMessage(S).show();  
} 
+1

Veuillez mettre un peu plus d'effort en posant les questions. Je ne peux pas entièrement comprendre votre problème. Qu'essayez-vous de faire? Qu'est-ce qui fonctionne pas? – Janusz

+1

Astuce: N'utilisez pas 'arg0',' arg1', etc. comme noms d'argument. Cela rend le code source complètement illisible. Et l'un d'entre eux est en fait l'information que vous recherchez, donc si vous aviez utilisé les noms propres, vous n'auriez pas eu besoin de poser cette question. – RoToRa

Répondre

16

peut-être cet exemple vous aidera

lv.setOnItemClickListener(new OnItemClickListener() { 
    public void onItemClick(AdapterView<?> parent, View view, 
     int position, long id) { 
     // When clicked, show a toast with the TextView text 
     Toast.makeText(getApplicationContext(), ((TextView) view).getText(), 
      Toast.LENGTH_SHORT).show(); 
    } 
    }); 

https://developer.android.com/reference/android/widget/ListView.html

0

Peut-être que vous pouvez essayer cette

String data = (String)shot.getItemAtPosition(arg2); 
AlertDialog.Builder adb = new AlertDialog.Builder(arg1.getContext());    
adb.setMessage(data).show(); 
10

Cela vous donne la valeur exacte de l'élément cliqué. Consultez le journal

ListView shot = getListView(); 
shot.setOnItemClickListener(this); 

public void onItemClick(AdapterView<?> parent, View view, int position,long id) { 

    String val =(String) parent.getItemAtPosition(position); 
    System.out.println("Value is "+val); 
} 
+0

qui déclenche une ClassCastException pour moi !! – bofredo

Questions connexes