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