启用禁用的edittext android

时间:2014-01-04 21:11:03

标签: android android-edittext android-spinner

我有一个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);
        }
}

4 个答案:

答案 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) {
}