2011-05-10 22 views
0

當列表中只有一個元素時,list不能獲得點擊事件。這個代碼可以很好地處理1.6和2.2。唯一的問題是當列表中只有一行時。與Android 2.1更新列表onItemClick事件得到問題?

有人可以告訴我我已經嘗試setfocusable和setfocusableintouchmode但沒有得到解決方案。

這裏是我點擊事件的代碼。 lvTrackData.setOnItemClickListener(新OnItemClickListener(){ @SuppressWarnings ( 「靜態訪問」) 公共無效onItemClick(適配器視圖爲arg0,視圖V,INT位置,長的id){

}}

其中lvtrackdata是我listview.this代碼工作正常,如果元素是大於1

回答

0

試試這個..它同時適用於自定義適配器和Arrayadapter
@覆蓋

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    final List<String> list=new ArrayList<String>(); 
    list.add("Android"); 
    ListView listView=(ListView)findViewById(R.id.list); 
    // listView.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,list)); 
    listView.setAdapter(new MyArrayAdapter(getApplicationContext(), 0,list)); 
    listView.setOnItemClickListener(new OnItemClickListener() { 

     @Override 
     public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, 
       long arg3) { 
     Toast.makeText(getApplicationContext(),list.get(arg2),Toast.LENGTH_SHORT).show(); 

     } 
    }); 
}