我有一个带有textviews的屏幕现在我想点击那个
使其可编辑我尝试使用edittext的一个解决方案使其成为透明背景但最初它将显示光标并且点击无法正确识别,如果我在xml中将focusbaleintouchmode设置为false它没有获得焦点。但是一些点击不能正常工作正如预期的那样。首先是这种正确的方法吗?
预期的结果是textview应该在用户点击它时应该是可编辑的,一旦用户点击它外面它应该是不可编辑的。任何示例代码都会对我有所帮助。对于我的英语
提前致谢
最后我使用下面的代码获得了一个解决方案 在xml编辑文本中,我将foucasbletouchmode设置为false,这使得点击工作正常后可以在onclick
et.setFocusable(true);
et.setEnabled(true);
et.setFocusableInTouchMode(true);
et.requestFocus();
失去焦点
et.setFocusable(false);
et.setClickable(true);
et.clearFocus();
答案 0 :(得分:4)
您可以使用以下代码:
private makeEditable(boolean isEditable,EditText et){
if(isEditable){
et.setBackgroundDrawable("Give the textbox background here");//You can store it in some variable and use it over here while making non editable.
et.setFocusable(true);
et.setEnabled(true);
et.setClickable(true);
et.setFocusableInTouchMode(true);
et.setKeyListener("Set edit text key listener here"); //You can store it in some variable and use it over here while making non editable.
}else{
et.setBackgroundDrawable(new ColorDrawable(Color.WHITE));
et.setFocusable(false);
et.setClickable(false);
et.setFocusableInTouchMode(false);
et.setEnabled(false);
et.setKeyListener(null);
}
}