谁能告诉我如何使一个EditText不可编辑通过XML?我试着设置android:editable为false,但是
已弃用;而且 但是没有成功。
谁能告诉我如何使一个EditText不可编辑通过XML?我试着设置android:editable为false,但是
已弃用;而且 但是没有成功。
当前回答
这样做的工作为我,我可以选择和复制到剪贴板,但我不能修改或粘贴。
android:enable="true"
android:textIsSelectable="true"
android:inputType="none"
其他回答
我用一个对话框来解决这个问题。
AlertDialog dialog;
EditText _editID;
TextView _txtID;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_principal);
_txtID = (TextView) findViewById(R.id._txtID);
dialog = new AlertDialog.Builder(this).create();
_editID = new EditText(this);
_editID.setInputType(InputType.TYPE_NUMBER_FLAG_SIGNED);
dialog.setTitle("Numero do Registro:");
dialog.setView(_editID);
dialog.setButton(DialogInterface.BUTTON_POSITIVE, "IR", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
_txtID.setText(_editID.getText());
toId(Integer.parseInt((_editID.getText().toString())));
}
});
dialog.setButton(DialogInterface.BUTTON_NEGATIVE, "CANCELAR", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
_txtID.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
_txtID.setText("_editID.getText()");
//_editID.setText("");
dialog.show();
}
});
你可以通过以下方法在edittext和editable之间切换:
public void toggleEditableOfEditText(EditText editText){
if (editText.getKeyListener() != null) {
editText.setTag(editText.getKeyListener());
editText.setKeyListener(null);
} else {
editText.setKeyListener((KeyListener) editText.getTag());
}
}
然后使用这个方法使edittext可编辑或不可编辑:
toggleEditableOfEditText(editText);
请试试这个!,它可能会帮助一些人
<EditText
android:enabled="false"
android:textColor="#000000"/>
试试这段代码。它在我的项目中工作,所以它将在你的项目中工作。
android:editable="false"
disable from XML(一行):
android:focusable="false"
从Java重新启用,如果需要(也是一行):
editText.setFocusableInTouchMode(true);