2017-03-21 22 views
0

アンドロイドアプリを開発しています.10個の質問があるパスワードを忘れた場合にサインアップしてからセキュリティに関する質問をします。ユーザーは任意の3を選択することができます。 3つの質問に対して3つのスピナーがあります。ユーザーが最初のスピナーから質問を選択すると、2番目と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

関連する問題