android - 设置 edittext 启用/禁用

标签 android spinner

我有一个界面。在此界面中,我有一个具有 2 个值的微调器:浏览器和图表。当我选择浏览器时,我希望启用另一个名为 eTxtUrl 的 editText。当我选择 Chart 时,我希望此 EditText 被禁用。

这是我的代码:

    spinnerTipoView =(Spinner) findViewById(R.id.spinnerTipoView);
    nomeTabellaGen=nomeTabella;

    spinnerTipoViewArray=new ArrayList<String>();

    if(addingRecord==true||tableDataChart==null)
        spinnerTipoViewArray=CpmAnalysisParams.tipoViewAdding();
    else    
        spinnerTipoViewArray=CpmAnalysisParams.tipoView();

    spinnerTipoViewArrayAdapter=new ArrayAdapter<String>(this, R.layout.spinner, spinnerTipoViewArray);
    spinnerTipoViewArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinnerTipoView.setAdapter(spinnerTipoViewArrayAdapter);
    if(addingRecord==true||tableDataChart==null)
        spinnerTipoView.setOnTouchListener(SpinnerTipoViewOnTouch);

    spinnerTipoView.setOnItemSelectedListener(new OnItemSelectedListener() {

        public void onItemSelected(AdapterView<?> arg0, View arg1,
                int arg2, long arg3) {


            if(arg0.getItemAtPosition(arg2).toString().toUpperCase().equals("CHART")){

                try {
                    eTxtUrl=(EditText) findViewById(R.id.editTextUrl);
                    eTxtUrl.setEnabled(false);
                    eTxtUrl.setFocusable(false);
                    spinnerCategoria=(CustomSpinner)findViewById(R.id.spinnerCategoria);
                    spinnerCategoria.setEnabled(true);
                    spinnerTabella=(CustomSpinner)findViewById(R.id.spinnerTabella);
                    spinnerTabella.setEnabled(true);
                    spinnerAscissa=(CustomSpinner)findViewById(R.id.spinnerAscissa);
                    spinnerAscissa.setEnabled(true);
                    buildSpinnerAreaDisplay();
                    buildSpinnerCategoria();
                    if(nomeTabellaGen!=""){
                        buildSpinnerTabella(nomeTabellaGen);
                    }
                    else
                        buildSpinnerTabella("");
                } catch (Exception e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }

            }
            else if(arg0.getItemAtPosition(arg2).toString().equals("Seleziona tipo view")){
                buildSpinnerAreaDisplay();
                buildGrafConfigSpinnerDisabled();

            }
            else{
                try {
                    eTxtUrl=(EditText) findViewById(R.id.editTextUrl);
                    eTxtUrl.setEnabled(true);
                    eTxtUrl.setFocusable(true);
                    spinnerCategoria=(CustomSpinner)findViewById(R.id.spinnerCategoria);
                    spinnerCategoria.setOnTouchListener(null);
                    spinnerCategoria.setEnabled(false);
                    spinnerTabella=(CustomSpinner)findViewById(R.id.spinnerTabella);
                    spinnerTabella.setEnabled(false);
                    spinnerTabella.setOnTouchListener(null);
                    spinnerAscissa=(CustomSpinner)findViewById(R.id.spinnerAscissa);
                    spinnerAscissa.setEnabled(false);
                    spinnerAscissa.setOnTouchListener(null);
                    buildSpinnerAreaDisplay();
                } catch (Exception e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
            // TODO Auto-generated method stub

        }

        public void onNothingSelected(AdapterView<?> arg0) {
            // TODO Auto-generated method stub

        }


    });


}

我不知道出了什么问题,因为当我选择浏览器,然后选择图表,然后再选择浏览器时,我的编辑文本仍然被禁用。

提前致谢。

最佳答案

要启用编辑 - 您是否尝试过使用:

eTxtUrl.setFocusableInTouchMode(true)

代替(或之后)该行:

eTxtUrl.setFocusable(true);

关于android - 设置 edittext 启用/禁用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12693733/

相关文章:

android - 无法使用 SetShadowLayer 在位图上放置阴影

java - 从 Android Studio 中的微调器获取文本

java - 无法从类型 View 对非静态方法 findViewById(int) 进行静态引用

android - 从字符串列表填充 Android 中的 Spinner

Android MonkeyRunner - 单击按钮时应用程序关闭

java - Android Studio 应用程序在加载时会加载之前的 session

android - onLongPress 或缓慢滚动时微调器滚动到顶部

javascript - 使用 jquery 为微调器设置延迟时间

java - 在对话窗体中输入文本

android - MapView 非常慢, map 上有 1000 个覆盖项,即使只有 2 个可见项