0

我正在尝试制作一个简单的应用程序,但我遇到了问题。我有一个由 4 个字符串组成的微调器 - 日期、日期、时间、位置。在微调器下,有 7 个从星期一到太阳的日期复选框,日期的编辑文本,时间的编辑文本和位置的编辑文本(纬度和经度)。如果我在微调器中选择“天”,如何使日期、时间和位置字段不可编辑?如果我在微调器中选择另一个字符串,反之亦然?意味着如果我选择时间,只能使用时间的edittext,另外3个变得不可编辑。som1 请帮助我,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 回答