2013-07-02 127 views
0

我有ListView,而everubody listItem有一个按钮。 我不能在第一次单击imageView时获得事件,但在第一次点击第二次时,我会获得事件。为什么我无法在第一次点击imageView时得到回应?点击listItem中的按钮不响应第一次点击,但响应第二次点击,如何设置响应第一次点击?

listView.setOnItemClickListener(新OnItemClickListener(){

@Override

公共无效onItemClick(适配器视图母体,最后查看视图,最终诠释位置,长ID){

   ImageView addLarge = (ImageView) view.findViewById(R.id.addLargeImage); 
       ImageView addSmall = (ImageView) view.findViewById(R.id.addSmallImage); 
       addLarge.setOnClickListener(new View.OnClickListener() { 

        @Override 
        public void onClick(View v) { 
         // TODO Auto-generated method stub 
         addProductToCart = true; 
         addToOrderListClick = true; 
         OrderProduct order = new OrderProduct(listProductId.get(position), listProductName.get(position), 
           listProductNameEn.get(position), listProductImageUrl.get(position), "large", listProductPriceLarge.get(position)); 
         orderListProduct.add(order); 
         animCopyListItemAddToCart(view, position, mainRelativeLaout); 
         Toast.makeText(getBaseContext(), "AddLarge", Toast.LENGTH_SHORT).show(); 
        } 
       }); 
       addSmall.setOnClickListener(new View.OnClickListener() { 

        @Override 
        public void onClick(View v) { 
         // TODO Auto-generated method stub 
         addProductToCart = true; 
         addToOrderListClick = true; 
         OrderProduct order = new OrderProduct(listProductId.get(position), listProductName.get(position), 
           listProductNameEn.get(position), listProductImageUrl.get(position), "small", listProductPriceSmall.get(position)); 
         orderListProduct.add(order); 
         animCopyListItemAddToCart(view, position, mainRelativeLaout); 
         Toast.makeText(getBaseContext(), "addSmall", Toast.LENGTH_SHORT).show(); 
        } 
       }); 

}

回答

0

因为你是你的ListView onItemClickListener()内设置您onClickListener()为您ImageViews。

因此,用户在列表中选择一个项目,然后才为您的ImageViews分配一个onClickListener。所以第二次,ImageView的onclick监听器被成功解雇。

要导航解决此问题,因此,当他们进入视野,而不是在用户列表中点击一个项目,他们都分配了一个自定义适配器内分配单独的ImageView onClickListeners。

+0

在自定义适配器内分配单个ImageView onClickListeners对我的应用来说不是好的解决方案,因为在那种情况下,我没有得到我想要的。如果可能,我希望在onItemClickListener中实现onClickListener? – Aleksandar

相关问题