我开发了一个点击程序,当我点击一个按钮然后分层计算点击次数和15秒后按钮鹅禁用,我想要**我在15秒内点击了多少存储作为高分,当我越过那个高得分然后将我的新高分节目存储在相同的活动**
答案 0 :(得分:1)
您可以使用共享偏好保存并检查您的高分。像这样:
这些行在开头的set_ContentView下:
String PREFS_GAME ="your package name";
SharedPreferences sp = getSharedPreferences(PREFS_GAME,Context.MODE_PRIVATE);
final Integer oldrec = sp.getInt("record",0);
然后在setOnclicklistenre中编写此代码:
if (newrec>oldrec){
sp.edit().putInt("record",new rec).commit();
Toast.makeText(MainActivity.this,"your new record is :"+newrec, Toast.LENGTH_SHORT).show();
}
答案 1 :(得分:0)
我建议:
public class MainActivity extends AppCompatActivity {
private int clicks = 0;
private TextView mTextView;
Button bt_restart;
int high;
public static final String MyPREFERENCES = "MyPrefs" ;
public static final String HIGHSCORE = "high" ;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
SharedPreferences prefs = getSharedPreferences(MyPREFERENCES, MODE_PRIVATE);
high = prefs.getInt(HIGHSCORE, 0);
bt_restart = (Button)findViewById(R.id.restart);
bt_restart.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent restartIntent = getBaseContext().getPackageManager()
.getLaunchIntentForPackage(getBaseContext().getPackageName());
restartIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(restartIntent);
}
});
mTextView = (TextView) findViewById(R.id.total_textview);
mTextView.setVisibility(View.VISIBLE);
Button button = (Button) findViewById(R.id.count_button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(final View v) {
final Button b = (Button)v;
if (clicks == 0){
// Means its the first time that a user click the button
// Start a thread that is going to disable the button after 5 seconds from first click
new CountDownTimer(15000, 1000) {
public void onTick(long millisUntilFinished) {
b.setText(millisUntilFinished / 1000 + " Seconds");
}
public void onFinish() {
b.setText("Time up");
b.setEnabled(false);
// Showing user clicks after button is disabled
showClicks();
}
}.start();
}
// Here we are just counting . . . . including the first click
countClicks();
}
});
}
private void countClicks(){
++clicks;
mTextView.setText(Integer.toString(clicks));
// You can update your text view here
}
private void showClicks(){
mTextView.setText(String.valueOf(clicks)+"Clicks");
mTextView.setVisibility(View.VISIBLE);
if(clicks > high){
SharedPreferences.Editor editor = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE).edit();
editor.putInt(HIGHSCORE, clicks);
editor.commit();
high = prefs.getInt(HIGHSCORE, 0);
}
}
然后如果你想要显示高分数使用textview并且在setText中使用String.valueOf(高),我不知道当改变变量高时textview是否会改变你可能必须使用textview.setText everyTima您编辑变量high(基于该链接的代码:Android Shared preferences example)