2014-06-20 36 views
0

我有一個Activity將服務器上的所有憑單加載到客戶的手機上。在該活動中,我有2個按鈕。第一個按鈕將獲得客戶購買的所有優惠券。第二個將獲得顧客可以購買的所有可用優惠券的清單。onListItemClick Android ListView - 如何激活onListItemCLick並在需要時停用?

現在,問題是,我只需要onListItemClick的可用優惠券列表(當他們點擊這些優惠券時,他們可以選擇購買)。我使用ListView作爲ListActivity。當我設置onListItemClick時,該事件也適用於購買的優惠券。

當顧客選擇購買優惠券時,顧客查看自己的優惠券並激活它時,我怎樣才能以某種方式停用onListItemClick活動?

這是我的兩個按鈕的代碼:

public void btn_Own(View v){ 
     if(!isConnected){ 
      Toast toast = Toast.makeText(Voucher.this, "Cannot connect to  internet", Toast.LENGTH_LONG); 
      toast.show(); 
      return; 
      //finish(); 
     } 


     if(email.equals("")){ 
      Toast toast = Toast.makeText(Voucher.this, "Please log in to see your voucher!", Toast.LENGTH_LONG); 
      toast.show(); 
     }else{ 
      url = "http://wswob.somee.com/wobservice.svc/checkOwnVoucher/" + email + "/"; 
      new checkingTask().execute(); 


     } 
    } 

public void btn_Shop(View v){ 
     if(!isConnected){ 
      Toast toast = Toast.makeText(Voucher.this, "Cannot connect to internet", Toast.LENGTH_LONG); 
      toast.show(); 
      return; 
      //finish(); 
     } 

     url = "http://wswob.somee.com/wobservice.svc/showVoucher"; 
     new MyTask().execute(); 
    } 

我是新來的Android,所以我才知道,我必須使用自定義適配器,(據我所知)做。但是我想知道在我使用asynctask的時候我該怎麼做,並在需要時通過不同的參數來執行web服務中的不同任務。

這是我如何得到調用Web服務後的名單:

protected void onPostExecute(Void result){ 
     super.onPostExecute(result); 


     ListAdapter adapter = new SimpleAdapter(
       Voucher.this, voucherList, 
       R.layout.voucher_list, new String[]{"detail","price"}, 
       new int[]{R.id.detail, R.id.price}); 

     setListAdapter(null); 

     setListAdapter(adapter); 
    } 
+0

發佈一些代碼。 –

+0

參考此答案:http://stackoverflow.com/a/7779199/2145360 – hayi

回答

1

您應該能夠使用的setEnabled爲真或假來控制,當用戶實際上可以點擊鏈接或按鈕。

+0

是的,非常感謝,這是最簡單的方法,而無需使用自定義適配器。 'ListView.setEnabled(false)' –

0

您應該使用活動的按鈕點擊事件,你有兩個按鈕,的onclick弗里斯特,而只是使列表視圖,從服務器和第二個按鈕的點擊,加載可vochers只會讓你的ListViewItem點擊加載所有vocher後Itemclicklistener禁用。

+0

是的,我認爲是這樣,但我發現的信息都是關於自定義適配器的。如果我使用客戶適配器,我不確定如何在同一時間實現異步。現在,只要我點擊不同的按鈕來完成不同的工作,我就可以在同一個課程中添加異步並傳遞不同的鏈接。 –