2011-05-10 16 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(); 

     } 
    }); 
}