使Edittext只能编辑一次

时间:2014-10-21 07:42:50

标签: android android-edittext

我有一个只能编辑一次的Edittext。用户编辑文本后,应该不再可以点击。 有没有关闭编辑功能?或者是使用额外TextView进行此处的最佳方式,并在编辑文本时使其可见?

3 个答案:

答案 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);

希望这个帮助