2013-07-02 126 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

相關問題