0

簡単なアプリを作ろうとしていますが、問題があります。日、日付、時刻、場所の4つの文字列で構成されるスピナーがあります。スピナーの下には、月からの日の7つのチェックボックスがあります-太陽、日付の編集テキスト、時間の編集テキスト、場所の編集テキスト(緯度と経度)。スピナーで「日」を選択した場合、日付、時刻、場所のフィールドを編集不可にする方法は?スピナーで別の文字列を選択した場合はその逆ですか?つまり、時間を選択すると、時間の編集テキストのみが使用可能になり、別の3つは編集できなくなります。som1 plzは私を助けてくれます、tq ..

4

2 に答える 2

2

を使用してEditTextを無効/有効にすることができます

EditText.setEnabled(false);

または、setKeyListener null を次のように設定して、EditText を無効にすることもできます。

EditText.setKeyListener(null);

例えば ​​:

private static final String[] weekitems={"day","date","time","location"};

    daySpinner.setOnItemSelectedListener(
        new OnItemSelectedListener() {
            @Override
            public void onItemSelected(
                AdapterView<?> parent, View view, int pos, long id
            ) {

                  String strsel=weekitems[pos];
                      if(strsel.equalsIgnoreCase("day")){
                         //disable EditText here
                      }else{
                          //enable EditText here
                      } 
            }

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

        }
    );
于 2012-12-24T01:38:00.213 に答える
1

これを使用して、EditTextを無効にできます。

EditText.setEnabled(false);

を実装する必要がありOnItemSelectedListenerます。その後、メソッド内onItemSelectedで位置を切り替えることができます。

    public void onItemSelected(AdapterView<?> parent, View v, int position,
                long id) {
            switch(position){
                        case 0:
                         enableAll();
                         EditText.setEnabled(false);
                        break;

                      // etc.
}
        }
于 2012-12-24T01:32:57.950 に答える