我有一个只能编辑一次的Edittext。用户编辑文本后,应该不再可以点击。 有没有关闭编辑功能?或者是使用额外TextView进行此处的最佳方式,并在编辑文本时使其可见?
答案 0 :(得分:2)
您可以在 SharedPreferences 中设置标记作为首次编辑或任何您想要的内容。通过设置,您可以检查编辑是否已经执行。
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
if(preferences.getString("isFirstTime", "true").equals("true")){
SharedPreferences.Editor editor = preferences.edit();
editor.putString("isFirstTime","false");
editor.apply();
}
所以在其他地方你可以做EditText.setEnabled(false);
实现你想要的一种方式。
答案 1 :(得分:1)
第一个位置你需要一个布尔标志来告诉你什么时候禁用editText。
boolean isEditTextUsed = false;
当isEditText = true时,您可以将其禁用;
if(isEditTextUsed)
yourEditText.setEnabled(false);
要将isEditTextUsed检查更改为true,您需要将addListener添加到EditText
yourEditText.addTextChangedListener(new TextWatcher(){
public void afterTextChanged(Editable s) {
isEditTextUsed=true;
}
public void beforeTextChanged(CharSequence s, int start, int count, int after){}
public void onTextChanged(CharSequence s, int start, int before, int count){}
});
然后将其保存到sharedprefrences。
答案 2 :(得分:0)
您可以使用bool值来检查编辑:
if(edited == true){
Edittext.setClickable(false);
}
如果你想让它可见:
Edittext.setAlpha(0);
希望这个帮助