Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/221.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SharedReferences未保存文本值 我正在尝试使用SharedReferences保存文本变量。我用这段代码保存了变量。但当我单击按钮时,保存的变量将返回0。我想从保存的值开始计数。请帮帮我_Java_Android_Android Studio_Sharedpreferences - Fatal编程技术网

Java SharedReferences未保存文本值 我正在尝试使用SharedReferences保存文本变量。我用这段代码保存了变量。但当我单击按钮时,保存的变量将返回0。我想从保存的值开始计数。请帮帮我

Java SharedReferences未保存文本值 我正在尝试使用SharedReferences保存文本变量。我用这段代码保存了变量。但当我单击按钮时,保存的变量将返回0。我想从保存的值开始计数。请帮帮我,java,android,android-studio,sharedpreferences,Java,Android,Android Studio,Sharedpreferences,**int计数器=0 ** }考虑到您提供的信息,我认为您需要将存储在SharedReferences中的值提供给计数器,以便在再次按下按钮时继续计数。 试试这个: public static final String SHARED_PREF="shared"; public static final String TEXT="text"; @Override protected void onCreate(Bundle savedInstanceState) { super.on

**int计数器=0

**

}

考虑到您提供的信息,我认为您需要将存储在SharedReferences中的值提供给计数器,以便在再次按下按钮时继续计数。 试试这个:

public static final  String SHARED_PREF="shared";
public static final String TEXT="text";

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main2);

    counterView=findViewById(R.id.counterid);
    Btn=findViewById(R.id.button1);

    Btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            counter++;
            counterView.setText(Integer.toString(counter));

            SharedPreferences sp = getSharedPreferences(SHARED_PREF, MODE_PRIVATE);
            SharedPreferences.Editor editor = sp.edit();
            editor.putString(TEXT,counterView.getText().toString());
            editor.commit();

        }

    });


    SharedPreferences sp = getSharedPreferences(SHARED_PREF, MODE_PRIVATE);
    String tValue = sp.getString(TEXT,"");
    counterView.setText(tValue);


}

尝试使用editor.apply;而不是承诺感谢你的帮助。但我已经试过了。它不起作用我想从保存的值开始计数。这是可能的,但我没有从任何地方得到任何解决方案,所以你想在关闭应用程序后保存计数器吗?因此,当应用程序重新启动时,使用相同的计数器,或者从0?开始,并且Btn应该是adBtn?
 int counter = 0;
Button adBtn;
TextView counterView;
public static final  String SHARED_PREF="shared";
public static final String TEXT="text";

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    counterView=findViewById(R.id.counterid);
    adBtn=findViewById(R.id.button1);

    adBtn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            SharedPreferences counterSp = getSharedPreferences(SHARED_PREF, MODE_PRIVATE);
            String correctCounterValue = counterSp.getString(TEXT,"");
            counter = Integer.valueOf(correctCounterValue);
            counter++;
            counterView.setText(Integer.toString(counter));

            SharedPreferences sp = getSharedPreferences(SHARED_PREF, MODE_PRIVATE);
            SharedPreferences.Editor editor = sp.edit();
            editor.putString(TEXT,counterView.getText().toString());
            editor.commit();

        }

    });


    SharedPreferences sp = getSharedPreferences(SHARED_PREF, MODE_PRIVATE);
    String tValue = sp.getString(TEXT,"");
    counterView.setText(tValue);


}