我有一个界面。在这个界面中,我有一个带有2个值的微调器:Browser和Chart。当我选择浏览器时,我希望启用另一个名为eTxtUrl的editText。当我选择图表时,我想要禁用此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
}
});
}
我不知道出了什么问题,因为当我选择浏览器,然后是图表,再浏览器时,我的编辑文本仍然被禁用。
提前致谢。
答案 0 :(得分:3)
要启用编辑 - 您是否尝试过使用:
eTxtUrl.setFocusableInTouchMode(true)
代替(或之后)该行:
eTxtUrl.setFocusable(true);