2011-12-13 88 views
2

我想設置上的列表視圖點擊監聽器自定義列表視圖。我已經使用查看持有者和基本適配器來填充列表視圖。我用下面的代碼:: Myonclicklistneer如何設置點擊監聽器在安卓

myonclicklistneer = new Myonclicklistneer(); 
listView.setOnItemClickListener(myonclicklistneer); 

//Listneer Is 
class Myonclicklistneer implements OnItemClickListener 
    { 

     @Override 
     public void onItemClick(AdapterView<?> parent, View view, int position, long arg3) { 
      Log.i("MyLog", "DONE DONE Listneer Is set!!!"); 

     } 

    } 

什麼是我的問題是Listneer設置和我充氣3文本查看和1個EditText.Whenever我點擊任何在該行監聽器窗口小部件已被設置。

回答

4

添加android:focusable="false"到ListView使ListView的可點擊的其他觀點。

+0

感謝拉利特這是正常...致力於爲文本視圖,但是編輯文本它不起作用。在編輯文本上,我已經分別設置了Textwatcher。 EditTextWacher editTextWacher = new EditTextWacher(viewHolder); \t \t viewHolder.editTextQuantity.addTextChangedListener(editTextWacher);如何監聽器的EDITTEXT 90%的要求設置,現在10%正在等待它取決於EDITTEXT ... –

+0

@mayurrahatekar你應該問這個作爲seprate問題,或更新的主要問題。 – MKJParekh

+0

好的。科學怪人我會分開問這個問題。 –

4

據我瞭解,你已經通過擴展BaseAdapter創建自己的自定義Adapter

而不是設置一個OnItemClickListener你應該在getView() - 方法您Adapter內每個視圖設置OnClickListener的。

添加OnClickListenerAdapter -class作爲一個內部類:

private class MyOnClickListener implements OnClickListener 
{ 
    @Override 
    public void onClick(View view) { 
    //Do what needs to be done. 
    } 
} 

然後你getView() - 方法裏面:

public View getView() { 
    //Inflate the view and get references to your TextViews/EditText. 
    TextView text = (TextView) view.findViewById(R.id.myListItemTextView); 

    //Set the onClickListener for each of the TextViews/EditTexts. 
    text.setOnClickListener(new MyOnClickListener()); 
} 
+0

這應該是被接受的答案 –