我在一个页面中使用Spinner,EditText和Button。微调器有这些项......
下列的程序:
String[] Items = {
"Alarm",
"Office",
"Meeting",
"Party",
"Lunch",
"Breakfast",
"Supper",
"Home",
"Private",
"Outdoor",
"Family",
"Friends",
"others"
};
Spinner s1;
如果我在微调器项目中选择“其他”,则意味着只需要启用Edittext,否则必须禁用它。如果我选择了其他项目,则必须禁用Edittext
代码段:
s1 = (Spinner) findViewById(R.id.spinner);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, Items);
s1.setAdapter(adapter);
s1.setOnItemSelectedListener(new OnItemSelectedListener()
{
public void onItemSelected(AdapterView<?> arg0,
View arg1, int arg2, long arg3)
{
int index = s1.getSelectedItemPosition();
Toast.makeText(getBaseContext(),
"You have selected item : " + Items[index],
Toast.LENGTH_SHORT).show();
}
public void onNothingSelected(AdapterView<?> arg0) {}
});
谢谢,
答案 0 :(得分:11)
这样做,
EditText edit = (EditText) findViewById(R.id.EditText01);
edit.setEnabled(false);
edit.setInputType(InputType.TYPE_NULL);
edit.setFocusable(false);
当选择任何其他选项时,
edit.setEnabled(true);
edit.setInputType(InputType.TYPE_CLASS_TEXT);
edit.setFocusable(true);
答案 1 :(得分:0)
我假设您从Spinner获得了值。
使用条件获取值后,通过以下代码设置启用或禁用edittext:
EditText.setEnabled(BooleanValue);
true是默认值,false设置禁用edittext。