2012-12-24 109 views
0

我想做一個簡單的應用程序,但我有一個問題。我有一個微調包含4個字符串 - 日期,日期,時間,地點。在微調器下面,有來自蒙太陽的daycheckbox,日期的edittext,時間的edittext和位置的編輯文本(緯度&經度)。如果我在我的微調中選擇「日」,如何使日期,時間和地點的字段不可編輯?反之亦然,如果我在旋轉器中選擇另一個字符串?意味着如果我選擇時間,只有時間的編輯文本可以使用,而另外3個則不可編輯。 SOM1 plz幫助我,TQ ..微調器和編輯文本

回答

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. 
} 
     } 
使用
+0

它變得不可編輯,但我只希望它成爲不可編輯,當我不選擇它的微調。 – user1858863

+0

編輯答案 – Ahmad

+0

它的幫助,tqvm^__^ – user1858863

2

你可以可以禁用/啓用的EditText

EditText.setEnabled(false); 

EditText.setKeyListener(null); 

例如::或者你也可以通過設置setKeyListener null作爲禁用的EditText

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) {} 

     } 
    ); 
+0

如果我喜歡你的建議,它會變得不可編輯。當我不想在微調中選擇它時,我希望它變得不可編輯。 – user1858863

+0

@ user1858863:那麼你將需要使用setOnItemSelectedListener來禁用/啓用EditText根據用戶選擇 –

+0

你可以給我一些源代碼的例子嗎? – user1858863

相關問題