我有一个edittext和一个带有两个项目(“”和“1”)的微调器。我禁用了我的edittext。现在我要做的是在我的微调器中选择1时启用我的edittext。但它没有启用。
public void onCreate(Bundle savedInstanceState) {
.......
enable();
}
public void enable() {
Spinner spinner1 = (Spinner) findViewById(R.id.spinner1);
spinner1.setAdapter(ArrayAdapter.createFromResource(this, R.array.spinner1, android.R.layout.test_list_item));
EditText edit1 = (EditText) findViewById(R.id.edit1);
String s1 = spinner1.getSelectedItem().toString();
edit1.setEnabled(false);
if (s1.equals("1")) {
edit1.setEnabled(true);
edit1.setFocusable(true);
edit1.setFocusableInTouchMode(true);
}
}
答案 0 :(得分:0)
您应该在更改项目侦听器上创建并将其设置为您的微调器。您应该在此处发布启用edittext的代码
答案 1 :(得分:0)
使用Spinners onclick侦听器在与微调器交互时“听到”,获取onclick内的微调器的值并根据需要操作其他对象。
答案 2 :(得分:0)
Spinner类的范围OnItemSelectedListener和
public void onItemSelected(AdapterView<?> parent, View view,
int pos, long id) {
// An item was selected. You can retrieve the selected item using
// parent.getItemAtPosition(pos)
}
执行启用和禁用编辑文本的操作。
答案 3 :(得分:0)
您必须实施方法onItemSelected
:
当此视图中的项目已被调用时要调用的回调方法 选择。仅在新选择时才调用此回调 位置不同于先前选择的位置或是否 没有选定的项目。
public abstract void onItemSelected (AdapterView<?> parent, View view, int position, long id) {
}