在选择微调器项目中的特定项目后,Edittext想要从禁用启用

ezh*_*hil 3 android

我在一个页面中使用Spinner,EditText和Button.微调器有这些项目......

以下:

 String[] Items = {
            "Alarm",
            "Office",
            "Meeting",
            "Party",
            "Lunch",
            "Breakfast",
            "Supper",
            "Home",
            "Private",
            "Outdoor",
            "Family",
            "Friends",
            "others"
    };

    Spinner s1;
Run Code Online (Sandbox Code Playgroud)

在其中如果我在微调器项目中选择"其他"意味着只需要启用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) {}
    });
Run Code Online (Sandbox Code Playgroud)

谢谢,

Deb*_*ati 13

做这个,

    EditText edit = (EditText) findViewById(R.id.EditText01);
    edit.setEnabled(false);
    edit.setInputType(InputType.TYPE_NULL);
    edit.setFocusable(false);
Run Code Online (Sandbox Code Playgroud)

当选择任何其他选项时,

    edit.setEnabled(true);
    edit.setInputType(InputType.TYPE_CLASS_TEXT);
    edit.setFocusable(true);
Run Code Online (Sandbox Code Playgroud)

  • 你应该在`setFocusable`之前`setFocusableInTouchMode` (2认同)