2016-07-01 4 views
0

私はアイテムのいくつかのリストを持っているスピナーが含まれている活性を有し、私は「提出」という名前のボタンがあり、最初の時間は、送信ボタンを提出する選択されていないが無効に残っている場合にのみ、スピナーからユーザーの選択項目の後に使用可能になります無効になり、このために私はボタンの状態は、私が コードすることを行うことができます.Howをクリックして確認する必要があります: -ユーザーがアンドロイドのスピナーからアイテムを選択したかどうかを確認する方法は?

m_OperatorSpinner = (Spinner) m_Main.findViewById(R.id.operator_spinner); 
    ArrayAdapter<COperatorStorage> adapter = new ArrayAdapter<COperatorStorage>(getActivity(), R.layout.recharge_item, CRechargeOperatorList.item); 
    m_OperatorSpinner.setAdapter(adapter); 
    m_OperatorSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 
     @Override 
     public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 
      COperatorStorage operatorName = CRechargeOperatorList.item[position]; 
      selectedOperatorCode = operatorName.code; 
      Log.e(TAG, "Operator code:-" + selectedOperatorCode); 

     } 

     @Override 
     public void onNothingSelected(AdapterView<?> parent) { 

     } 
    }); 
public void checkforEmpty() { 
    if (NetworkUtil.isConnected(getActivity())) { 
     if (m_szMobileNumber.length() == 13) { 
      if (m_szAmount.length() != 0) { 
       if (selectedOperatorCode!=null){ 
        m_SubmitButton.setEnabled(true); 
        m_SubmitButton.setBackgroundColor(Color.rgb(0, 80, 147));// set background color on eabled 
        m_SubmitButton.setOnClickListener(new View.OnClickListener() { 
         @Override 
         public void onClick(View v) { 
          proceedToRecharge(v); 
         } 
        }); 
       }else { 
        m_SubmitButton.setEnabled(false); 
        m_SubmitButton.setBackgroundColor(Color.rgb(192, 192, 192)); 
       } 

      } else { 
       m_SubmitButton.setEnabled(false); 
       m_SubmitButton.setBackgroundColor(Color.rgb(192, 192, 192)); 
      } 
     } else { 
      m_SubmitButton.setEnabled(false); 
      m_SubmitButton.setBackgroundColor(Color.rgb(192, 192, 192)); 
     } 
    } else { 
     try { 
      CSnackBar.getInstance().showSnackBarError(m_Main.findViewById(R.id.mainLayout), "No Internet Connection Available", getActivity()); 

     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
     m_SubmitButton.setEnabled(false); 
     m_SubmitButton.setBackgroundColor(Color.rgb(192, 192, 192)); 
    } 
} 

答えて

0

onItemSelectedにおける真のいくつかのブール値のフラグを設定し、フラグの状態に応じて送信ボタンを有効にしてください。

boolean isItemSelected ; 

    m_OperatorSpinner = (Spinner) m_Main.findViewById(R.id.operator_spinner); 
     ArrayAdapter<COperatorStorage> adapter = new ArrayAdapter<COperatorStorage>(getActivity(), R.layout.recharge_item, CRechargeOperatorList.item); 
     m_OperatorSpinner.setAdapter(adapter); 
     m_OperatorSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 
      @Override 
      public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 
       COperatorStorage operatorName = CRechargeOperatorList.item[position]; 
       selectedOperatorCode = operatorName.code; 
       Log.e(TAG, "Operator code:-" + selectedOperatorCode); 
    if(position!=0){ 
    isItemSelected = true; 
}else{ 
isItemSelected =false; 
} 

       } 

       @Override 
       public void onNothingSelected(AdapterView<?> parent) { 

       } 
      }); 
     public void checkforEmpty() { 
      if (NetworkUtil.isConnected(getActivity())) { 
       if ((m_szMobileNumber.length() == 13) && 
        (m_szAmount.length() != 0) &&(selectedOperatorCode!=null) && isItemSelected){ 
          m_SubmitButton.setEnabled(true); 
          m_SubmitButton.setBackgroundColor(Color.rgb(0, 80, 147));// set background color on eabled 
          m_SubmitButton.setOnClickListener(new View.OnClickListener() { 
           @Override 
           public void onClick(View v) { 
            proceedToRecharge(v); 
           } 
          }); 
         }else { 
          m_SubmitButton.setEnabled(false); 
          m_SubmitButton.setBackgroundColor(Color.rgb(192, 192, 192)); 
         } 

        } else { 
         m_SubmitButton.setEnabled(false); 
      } else { 
       try { 
        CSnackBar.getInstance().showSnackBarError(m_Main.findViewById(R.id.mainLayout), "No Internet Connection Available", getActivity()); 

       } catch (Exception e) { 
        e.printStackTrace(); 
       } 
       m_SubmitButton.setEnabled(false); 
       m_SubmitButton.setBackgroundColor(Color.rgb(192, 192, 192)); 
      } 
     } 
+0

親切に編集コードは、そのが動作していない – vishwas

+0

をplssssssssss .....私は、ユーザーが選択したときに、スピナーを検出する必要がありますアイテムがポジション== 0の場合、送信ボタンは無効のままで、ポジション1のアイテムを選択すると有効になります......................... – vishwas

0

位置を探して、あなただけの位置でテスト:

例:

if(position==1){ 
    //what to do here 
}else if(position==2){ 
    //what to do here 
} 
+0

編集Iを参照ソースを追加しました –

関連する問題