2014-03-27 56 views
1

我對viewclicklistener有問題。 當我按下圖片時,它會啓動另一項活動。 如果我多次按下圖像,它會啓動多個活動。Android Viewholder onclicklistener多次點擊

如何讓onclicklistener只啓動一項活動?

public View getView(final int position, View convertView, ViewGroup parent) { 
     // TODO Auto-generated method stub 
      final ViewHolder holder; 
     if (convertView == null) { 

      convertView = mInflater.inflate(R.layout.epi_list_row, null); 
      holder = new ViewHolder(); 

      holder.date = (TextView) convertView.findViewById(R.id.date); 
      holder.month_year = (TextView) convertView.findViewById(R.id.month_year); 
      holder.time = (TextView) convertView.findViewById(R.id.time); 

      holder.status = (ImageView) convertView.findViewById(R.id.status); 
      holder.ecg_view = (ImageView) convertView.findViewById(R.id.ecg_view); 
      //holder.ecg_view = (Button) convertView.findViewById(R.id.ecg_view); 
      holder.check = (CheckBox) convertView.findViewById(R.id.ecg_checkbox_select); 


      convertView.setTag(holder); 
     } else { 
      holder = (ViewHolder) convertView.getTag(); 

     } 


     holder.date.setText(mDate[position].toString().substring(8)); 
      holder.month_year.setText(mDate[position].toString().substring(0, 7)); 
      holder.time.setText(mTime[position].toString()); 


      if(mUpdate[position].toString().equals("1")){ 
       //holder.status.setText("Sent"); 
       holder.status.setBackgroundResource(R.drawable.sent_icon); 
      }else if(mUpdate[position].toString().equals("0")){ 
       //holder.status.setText("Pending"); 
       holder.status.setBackgroundResource(R.drawable.pending_icon); 
      } 


      holder.ecg_view.setOnClickListener(new OnClickListener() { 

       @Override 
       public void onClick(View v) { 
        // TODO Auto-generated method stub 

        try { 
         getParsedMyXML(position, mFiles.get(position), true); 
        }catch (Exception e) { 
         // TODO Auto-generated catch block     
        } 

        // Launch another activity 
        startDrawing(mData, mDate[position] + " " + mTime[position]); 
       } 
      }); 


     return convertView; 
    } 
+0

你在getParsedMyXML中進行異步調用嗎? – playmaker420

+0

getParsedMyXML中沒有異步調用 – user2508120

回答

0

在你onClick method,試試這個:

if(firstClick == true) { 
    firstClick = false; 
    // Launch another activity 
    startDrawing(mData, mDate[position] + " " + mTime[position]); 
    } 

聲明firstClick作爲初始設置爲true一個全局布爾變量。在適當的情況下,其他活動可以將firstClick值修改回true

+1

我試過這種方法,它不起作用。當視圖持有者圖像上有多個點擊時,它仍然會觸發多個「onclick事件」 – user2508120