我是Android开发的新手,我很难在切换设置为关闭后尝试使我的editText无法使用。问题是开关功能不起作用。即使设置为关闭,我仍然可以编辑文本。 这是我的代码:
public void onCreate(Bundle savedInstanceState) {
this.getWindow().setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_profile);
final View switch1 = (Switch) findViewById(R.id.editSwitch);
final EditText mEdit = (EditText) findViewById(R.id.bioTxt);
switch1.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if (switch1.getContext().toString().equals("On")) {
mEdit.setEnabled(true);
}
else if (switch1.getContext().toString().equals("Off")) {
EditText mEdit = (EditText) findViewById(R.id.bioTxt);
mEdit.setEnabled(false);
}
}
});
};
}
答案 0 :(得分:2)
Switch
有一个函数isChecked()
,如果Switch处于'On'位置,则返回true。因此,你的onClick方法可以只是:
public void onClick(View v) {
mEdit.setEnabled(switch1.isChecked());
}
答案 1 :(得分:0)
switch1.getContext().toString()
你想在这做什么?视图上的getContext返回拥有它的活动。它不会返回任何会变成“开”或“关”的东西。你需要调用一些其他功能。我不确定哪个,因为它看起来像是一个自定义视图。