2013-06-20 51 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(); 

       } 
     }); 
相关问题