Spinner& EDITTEXT

时间:2012-12-24 01:28:53

标签: android if-statement android-edittext spinner

我正在尝试制作一个简单的应用程序,但我遇到了问题。我有一个旋转器包括4个字符串 - 日期,日期,时间,位置。在旋转器下,有来自星期日的7个日期,日期的编辑文本,时间的编辑文本和位置的编辑文本(纬度和经度)。如果我在我的微调器中选择“日”,如何使日期,时间和位置的字段不可编辑?如果我在旋转器中选择另一个字符串,反之亦然?意味着如果我选择时间,只能使用时间的编辑文本而另一个3不可编辑。 som1 plz帮帮我,tq ..

2 个答案:

答案 0 :(得分: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) {}

        }
    );

答案 1 :(得分: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.
}
        }