2014年11月5日 星期三

[Android] 同時使用 long click listener 和 click listener


ListView 與 GridView 常常都有需要 long click 的需求
但可能一不小心會將 long click 和 click 同時觸發

要怎麼避免這個情況呢?
可以依照下面的這個方法
注意紅色的地方

 gridView.setOnItemLongClickListener(new OnItemLongClickListener() {  
     @Override  
     public boolean onItemLongClick(AdapterView<?> arg0, View arg1, int position, long arg3) {  
         // do what u want to do  
         return true;  
     }  
 });  
 gridView.setOnItemClickListener(new OnItemClickListener() {  
     @Override  
     public void onItemClick(AdapterView<?> parent, View view, int position, long id) {  
         // do what u want to do  
     }  
 });  

假如 return false; 的話
長按時,兩者會同時觸發!!

所以如果要正常使用這兩個功能
必須要寫 return true;
才會符合需求唷!!

沒有留言:

張貼留言