2014-02-25 46 views
1

我的自定義ListView不可點擊。我正在使用setOnItemClickListener。我的ListView行包含一個按鈕,圖像視圖和一些文字瀏覽。請幫助我使物品可點擊。自定義列表視圖行不可點擊

+4

添加一些代碼片段。 – 2014-02-25 11:53:26

+0

試圖在網上找到解決方案,檢查這個答案http://stackoverflow.com/a/12813906/1168654 –

+0

set your android:focusable =「false」''你的自定義'ListView'項目佈局中的所有'視圖'。 .. –

回答

0

的情況下,如果你使用的控制一樣ImageButtonCheckBoxButton等,那麼你將面臨討論herehere問題。

這僅僅是因爲這樣的控制可以竊取從ListView焦點和不能被選擇的完整列表項/點擊。

我假設您使用適配器來設置您的列表的內容。該適配器在裏面你可以指定onClickListener() S表示這樣每個項目:

public class MyListAdapter extends ArrayAdapter<String>{ 
    ....... 
    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
     View rowView=inflator.inflate(R.layout.list_item, null, true); 
     ImageView image=(ImageView) rowView.findViewById(R.id.image1); 
     image.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       //do something 
      } 
     } 

     Button button=(ImageView) rowView.findViewById(R.id.button1); 
     button.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       //do something 
      } 
     } 
     ....... 
    } 
} 

但請記住,在使用像ImageButtonCheckBoxButton你需要在XML指派屬性android:focusable="false"控制。併爲ImageButton你需要這樣做的getView()方法中:

final ImageButton imgBtn=(ImageButton) rowView.findViewById(R.id.imgBtn); 
    imgBtn.setFocusable(false); 
    imgBtn.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      //do your task here 
     } 
    }); 

希望我回答你的問題。

0

將clickable = false設置爲像列表視圖行中的所有可點擊視圖(按鈕)。