2013-06-20 52 views
0

如何獲得項目,我點擊列表視圖?如何獲取listview項目字符串?

這裏是我的代碼:

public class MainClass extends Activity { 
    ArrayList <String> listItems = new ArrayList<String>(); 
    ArrayAdapter <String> adapter; 
    ListView listView; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main_layout); 

     adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, listItems); 
     listView = (ListView) findViewById(R.id.listView1); 
     listView.setAdapter(adapter); 
     listItems.add("Item 1"); 
     listItems.add("Item 2"); 
     listItems.add("Item 3"); 
     adapter.notifyDataSetChanged(); 

     listView.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View arg0) { 
       // TODO Auto-generated method stub 
       Toast.makeText(getApplicationContext(), 
         listView.getItemAtPosition(0).toString(), 
         Toast.LENGTH_LONG).show(); 
      } 
     }); 
    } 
} 

但它強制關閉每次。

+0

發佈logcat .. – jlordo

+0

感謝codåiṩĸîŋgfor codde, –

回答

2

變化:

listView.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View arg0) { 
     // TODO Auto-generated method stub 
     Toast.makeText(getApplicationContext(), 
       listView.getItemAtPosition(0).toString(), 
       Toast.LENGTH_LONG).show(); 
    } 
}); 

到:

listView.setOnItemClickListener(new OnItemClickListener() { 
    @Override 
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { 
      Toast.makeText(getApplicationContext(), listView.getItemAtPosition(arg2).toString(), Toast.LENGTH_LONG).show(); 
    } 
}); 
1

您需要使用onItemClickListener如果你想在列表中的項目進行交互。在方法中有一個位置參數,然後可以使用該參數來檢索該位置處的值。

0
try : 

    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
       public void onItemClick(AdapterView parent, 
         View view, int pos, long id) { 




        String item=(String)((TextView) view).getText(); 
Toast.makeText(getApplicationContext(), 
         listView.getItemAtPosition(0).toString(), 
         Toast.LENGTH_LONG).show(); 

       } 
     }); 
相關問題