2012-12-24 62 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

相关问题