2012-05-30 49 views
0

我有一个ListView,需要检查,哪个项目已被点击。 我使用它的方式,当我使用鼠标的滚轮(在Eclipse模拟器中测试时)时,它只显示我选择的项目。当我在真实的移动设备上测试它时,它根本没有反应。使用检查选定项目的ListView

adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, listItems); 
listView.setAdapter(adapter); 

listView.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 

    public void onItemSelected(AdapterView<?> arg0, View arg1, 
      int arg2, long arg3) { 
     myFunction(listView.getSelectedItem()); 
    } 

    public void onNothingSelected(AdapterView<?> arg0) { 
     // TODO Auto-generated method stub 
    } 
}); 

回答

1

setOnItemClickListener,而不是setOnItemSelectedListener

listView.setOnItemClickListener(new OnItemClickListener() { 

      @Override 
      public void onItemClick(AdapterView<?> parent, View view, int position, 
        long id) { 
      //get value for listItems using position  

        String str =listItems[position];     
        myFunction(str); 
      } 
     }); 
0

我觉得更好,你需要上onListItemClick监听使用

 public void onListItemClick(ListView parent, View v, int position, long id) 
       { 
       parent.setItemChecked(position, parent.isItemChecked(position)); 
     Toast.makeText(this, "You have selected" + items[position],30).show(); 
       }