2017-03-21 21 views
0

我正在開發一個android應用程序,它在註冊忘記密碼之後詢問安全問題,共有10個問題。用戶可以選擇任何3. 我有3個問題的微調3。一旦用戶從第一個微調器中選擇問題,第二個和第三個微調器不應該在他們的列表中。請幫助我禁用或從列表中刪除它。如何在用戶點擊時禁用並啓用微調項目

活動

enter image description here

+0

對於選擇的每個新安全問題,只需從適配器中刪除項目,您可以使用適配器將該項目與適配器進行活動/分段調用notifydatasetchanged,以便將項目從列表中刪除。刪除之前,請確保從Web服務中調用刷新以處理用戶更改安全問題時的場景。 – HaroldSer

+0

@Ramu Hegde檢查我的答案,這可能會有所幫助。 – tahsinRupam

回答

0

首先,設置一個布爾檢查,如果這是第一次選擇微調控制器。存儲選定的項目,以便稍後可以在問題更改時添加它們。

Boolean ifFirstCheck = true; 
String storeItem = ""; 

然後,使用下面的代碼:

spinner1.setOnItemSelectedListener(new OnItemSelectedListener() { 

      @Override 
      public void onItemSelected(AdapterView<?> arg0, View arg1, 
        int arg2, long arg3) { 

        if(!ifFirstCheck){ 
         listSp2.add(storeItem); 
         sp2adapter.notifyDataSetChanged(); 
         listSp3.add(storeItem); 
         sp3adapter.notifyDataSetChanged(); 
        } 

        String selectedItem = spinner1.getSelectedItem().toString(); 
        listSp2.remove(selectedItem)    // Get selected value from spinner1 and remove thar item from spinner2 
        sp2adapter.notifyDataSetChanged();  // Notify adapter of spinner2 to that dataset has been changed 
        listSp3.remove(selectedItem) 
        sp3adapter.notifyDataSetChanged(); 

        storeItem = selectedItem; 
        ifFirstCheck = false; 
      } 

      @Override 
      public void onNothingSelected(AdapterView<?> arg0) { 
       // TODO Auto-generated method stub 

      } 
     }); 

,按上述的spinners.Hope這有助於休息。

+1

謝謝tahsin。有效。 –

+0

不客氣。如果答案有幫助,您可以將答案標記爲已接受。 :) – tahsinRupam

0

的屏幕截圖,我假設你正在使用的紗廠的適配器。如果您使用ArrayAdapter並且每個適配器都包含相同的項目列表,則可以從列表中刪除所選項目並通知適配器進行更新。

+0

但如果用戶從第一個微調器更改問題,則必須再次將該問題添加到列表中。 –

+0

@VivekMishra好點 –

+0

如果他在清除之前通過調用帶有容器信息的webservice來刷新內容,那麼它將處理安全問題更改。 – HaroldSer

相關問題