Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.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 保存按钮点击次数_Java_Android_Android Activity - Fatal编程技术网

Java 保存按钮点击次数

Java 保存按钮点击次数,java,android,android-activity,Java,Android,Android Activity,我正在开发一个简单的“点击倒计时”应用程序,它基本上有一个imagebutton功能。 按下时,它显示从10到9、8、7…的点击次数,。。。到0。 我有一个问题,当我关闭应用程序时,点击次数再次从10开始。 我知道这是一个很初级的问题,但有人能帮我吗? 如何保存点击次数 这是我目前掌握的代码: package com.example.testapp; import com.example.testapp.R; import android.os.Bundle; import android.

我正在开发一个简单的“点击倒计时”应用程序,它基本上有一个imagebutton
功能。
按下时,它显示从10到9、8、7…的点击次数,。。。到0。
我有一个问题,当我关闭应用程序时,点击次数再次从
10开始。
我知道这是一个很初级的问题,但有人能帮我吗?
如何保存点击次数

这是我目前掌握的代码:

package com.example.testapp;

import com.example.testapp.R;

import android.os.Bundle;
import android.app.Activity;
import android.widget.ImageButton;
import android.view.View;
import android.widget.TextView;
import android.view.View.OnClickListener;
import com.google.ads.AdRequest;
import com.google.ads.AdView;

public class MainActivity extends Activity {

    ImageButton button1;
    TextView textView1;
    int counter = 10;

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

        AdView adView = (AdView)this.findViewById(R.id.adView);
        adView.loadAd(new AdRequest());

        ImageButton imageButton;
        imageButton = (ImageButton) findViewById(R.id.button1);
        textView1 = (TextView) findViewById(R.id.textView1);
        button1 = (ImageButton) findViewById(R.id.button1);
        imageButton.setOnClickListener(new OnClickListener(){



            public void onClick(View v) {
                if (counter >= 1) {
                    counter--;
                    textView1.setText("" + counter);
                } else if (counter == 0){
                    button1.setImageResource(R.drawable.picture2);
                    counter--;

                }


            }
        });
    }

}
看一看。它们将允许您在会话之间保存数据:

例如

启动时:

SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
clickCount = sharedPreferences.getInt("Click_Count", 0);
保存:

SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
Editor editor = sharedPreferences.edit();
editor.putInt("Click_Count", clickCount);
editor.commit();

您可以在SharedReferences中保存您的计数值,如下所示

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
SharedPreferences.Editor prefsEditor = prefs.edit();

public void onClick(View v) {
    if (counter >= 1) {
        counter--;
        textView1.setText("" + counter);

        prefsEditor.putInt("counter", counter);
        prefsEditor.commit();

    } else if (counter == 0){
        button1.setImageResource(R.drawable.picture2);
        counter--;

        prefsEditor.putInt("counter", counter);
        prefsEditor.commit();

    }
}
counter = prefs.getInt("counter", 10);
从SharedReferences中检索该计数器值,如下所示

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
SharedPreferences.Editor prefsEditor = prefs.edit();

public void onClick(View v) {
    if (counter >= 1) {
        counter--;
        textView1.setText("" + counter);

        prefsEditor.putInt("counter", counter);
        prefsEditor.commit();

    } else if (counter == 0){
        button1.setImageResource(R.drawable.picture2);
        counter--;

        prefsEditor.putInt("counter", counter);
        prefsEditor.commit();

    }
}
counter = prefs.getInt("counter", 10);

现在,如果用“counter”键在SharedReference中找不到值,那么它将返回默认值10。

将其存储在
SharedReference中。
:)