2012-12-27 68 views
0

我通過傳遞觸摸事件給他們兩個滾動兩個listview。滾動兩個listview和處理點擊事件

OnTouchListener touchListener = new OnTouchListener() { 
        boolean dispatched = false;                                                        

        @Override 
        public boolean onTouch(View v, MotionEvent event) { 
          if (v.equals(m_lv1) && !dispatched) { 
            m_listAdapter1.setEnabled(true);                                                   
            m_listAdapter2.setEnabled(false);                                                  
            dispatched = true;                                                      
            m_lv2.dispatchTouchEvent(event);                                                   
          } else if (v.equals(m_lv2) && !dispatched) { 
            m_listAdapter1.setEnabled(false);                                                  
            m_listAdapter2.setEnabled(true);                                                   
            dispatched = true;                                                      
            m_lv1.dispatchTouchEvent(event);                                                   
          } 
          dispatched = false;                                                        
          return false;                                                         
        } 
      }; 

它工作正常。

我也有OnItemClickListener兩個列表視圖,它工作正常以及

 m_lv1.setOnItemClickListener(new OnItemClickListener() { 
       @Override 
       public void onItemClick(AdapterView<?> adapter, View view, int position, long arg) { 
.. 
} 
}); 

現在我添加clickListener於上述列表視圖的細胞的子佈局。

 if(viewHolder.layout_author != null) { 
      viewHolder.layout_author.setOnClickListener(new OnClickListener() { 
        @Override 
        public void onClick(View v) { 
         Intent profileIntent = new Intent(ImageListAdapter.this.activity, ProfileActivity.class); 
         profileIntent.putExtra("JsonUser", jsonAlbumImage.jsonUser); 
         ImageListAdapter.this.activity.startActivity(profileIntent); 
        } 
       }); 
     } 

然後,我發現滾動有時不起作用。 我想它是因爲新的clickListener正在消耗觸摸事件。

歡迎任何建議/指導。

回答

1
You should implement interface OnItemClickListener and then use its Overrided method 

onItemClick。設置您的listViews onItemClickListeners。現在在Overrided Method「onItemClick」比較它的參數「parent」和你的listViews。 例如:

if (parent.equals(listView1)) { 
    /* your code here */ 
} else if(parent.equals(listView2){ 
    /* your code here */ 
} 
+0

感謝您的意見。但我實際上可以處理OnItemClickListener。我需要不同的操作來點擊單元格的子視圖。 – eugene