2012-12-27 34 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