Android 保存“编辑文本”可见性

Android 保存“编辑文本”可见性,android,android-edittext,sharedpreferences,Android,Android Edittext,Sharedpreferences,我有两个editText设置为单击按钮可见,还有一个按钮将editText设置为不可见。当我单独保存可见性代码时,代码工作正常,但当我添加代码以将editText保存到invisibe时,我遇到了问题。我做错了什么 public void EditTextVisible() { visibility++; if(e1.getVisibility() == View.INVISIBLE){ e1.setVisibility(View.VISIBLE);

我有两个editText设置为单击按钮可见,还有一个按钮将editText设置为不可见。当我单独保存可见性代码时,代码工作正常,但当我添加代码以将editText保存到invisibe时,我遇到了问题。我做错了什么

    public void EditTextVisible() {
    visibility++;
    if(e1.getVisibility() == View.INVISIBLE){
        e1.setVisibility(View.VISIBLE);
    } else if(e2.getVisibility() == View.INVISIBLE){
        e2.setVisibility(View.VISIBLE);
    }
}
public void invisible(){
    invisible++;
    if(e2.getVisibility() == View.VISIBLE)
    {
        e2.setVisibility(View.INVISIBLE);
    }
    else if(e1.getVisibility() == View.VISIBLE){
        e1.setVisibility(View.INVISIBLE);
    }
}
@Override
  protected void onPause() {
    super.onPause();

    SharedPreferences.Editor editor = getPreferences(0).edit();

    editor.putInt(key1, visibility);//This code is working by itself.

    editor.putInt(key2, invisible); //When I add this code to save the editText to invisible nothing is being saved on exit.

    editor.commit();

}
@Override
protected void onResume() {
    super.onResume();
    SharedPreferences prefs = getPreferences(0);
        int val = prefs.getInt(key1, 0);
        for (int i = 0; i < val; i++)
            EditTextVisible();

        prefs.getInt(key2, 0);
        int inv = prefs.getInt(key2, 1);
        for (int a = 0; a < inv; a++)
              invisible();

    }
}

首先,你的问题不清楚,但这里有点不对劲

int inv = prefs.getInt(key 2, 1);
应该是

int inv = prefs.getInt(key2, 1);
这个问题在你的简历上


请检查此代码。

是否有“可见性++”和“不可见”的用法,并清楚地告诉我们您面临的问题。您的问题是什么?哪个问题@GunaseElan问题是,当我试图保存用户将editText设置为不可见的次数时,代码不起作用。例如,用户单击按钮将editText设置为可见,这是由EditTextvisible代码在onResume中保存的,代码正在工作,但当我尝试保存用户将editText设置为不可见的次数时,invisibe没有保存它;我在简历中添加的代码。抱歉,如果@gunaseElan出现任何混乱,我知道我在onResume中犯了一个错误,试图回忆editText视图设置为不可见的时间,但我无法确定它是什么。循环运行了多少时间?循环运行了3次。您可以尝试不使用循环,那问题就更清楚了。我真的知道我做错了什么。我在循环中犯了一个错误。谢谢
@Override
protected void onResume() {
    super.onResume();
    SharedPreferences prefs = getPreferences(0);
        int val = prefs.getInt(key1, 0);
        for (int i = 0; i < val; i++)
            EditTextVisible();


        int inv = prefs.getInt(key2, 0);
        for (int a = 0; a < inv; a++)
              invisible();

    }