英文:
Code to display high score table wont display in android studio
问题
以下是我从您提供的代码中翻译的部分:
package com.example.spaceattack;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class EndActivity extends AppCompatActivity {
private Button gameStart;
private TextView numberScore;
private String score;
TextView table_score;
int lastScore;
int best1, best2, best3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_end);
table_score = (TextView) findViewById(R.id.table_score);
SharedPreferences preferences = getSharedPreferences("PREFS", 0);
lastScore = preferences.getInt("lastScore", 0);
best1 = preferences.getInt("best1", 0);
best2 = preferences.getInt("best2", 0);
best3 = preferences.getInt("best3", 0);
if (lastScore > best3) {
best3 = lastScore;
SharedPreferences.Editor editor = preferences.edit();
editor.putInt("best3", best3);
editor.apply();
}
if (lastScore > best2) {
int temp = best2;
best2 = lastScore;
best3 = temp;
SharedPreferences.Editor editor = preferences.edit();
editor.putInt("best3", best3);
editor.putInt("best2", best2);
editor.apply();
}
if (lastScore > best1) {
int temp = best1;
best1 = lastScore;
best2 = temp;
SharedPreferences.Editor editor = preferences.edit();
editor.putInt("best2", best2);
editor.putInt("best1", best1);
editor.apply();
}
table_score.setText("LAST SCORE: " + lastScore + "\n" +
"BEST1: " + best1 + "\n" +
"BEST2: " + best2 + "\n" +
"BEST3: " + best3);
score = getIntent().getExtras().get("score").toString();
gameStart = (Button) findViewById(R.id.restart_btn);
numberScore = (TextView) findViewById(R.id.scoreCount);
gameStart.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(EndActivity.this, WaterActivity.class);
startActivity(intent);
}
});
numberScore.setText("Score = " + score);
}
@Override
public void onBackPressed() {
Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);
}
}
package com.example.spaceattack;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.view.WindowManager;
import java.util.Timer;
import java.util.TimerTask;
public class MainActivity extends AppCompatActivity
{
private SpaceShipView gameView;
private Handler handler = new Handler();
private final static long Interval = 30;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
gameView = new SpaceShipView(this);
setContentView(gameView);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN);
} else {
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run()
{
handler.post(new Runnable() {
@Override
public void run()
{
gameView.invalidate();
}
});
}
}, 0, Interval);
}
}
请注意,上述翻译的代码是您提供的原始代码的中文翻译版本,保留了代码的结构和逻辑。如有需要,您可以将这些代码粘贴到您的Android Studio项目中。
英文:
Below is my code used within my game in android studio. The code seems to compile without any errors, however it does not seem to output in my textview within my Game over screen. Instead only the text textview is outputted. To provide context supplied an image of the Game Over output screen which shows only the text textview being shown.
package com.example.spaceattack;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class EndActivity extends AppCompatActivity {
private Button gameStart;
private TextView numberScore;
private String score;
TextView table_score;
int lastScore;
int best1, best2, best3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_end);
table_score = (TextView) findViewById(R.id.table_score);
SharedPreferences preferences = getSharedPreferences("PREFS", 0);
lastScore = preferences.getInt("lastScore", 0);
best1 = preferences.getInt("best1", 0);
best2 = preferences.getInt("best2", 0);
best3 = preferences.getInt("best3", 0);
if (lastScore > best3) {
best3 = lastScore;
SharedPreferences.Editor editor = preferences.edit();
editor.putInt("best3", best3);
editor.apply();
}
if (lastScore > best2) {
int temp = best2;
best2 = lastScore;
best3 = temp;
SharedPreferences.Editor editor = preferences.edit();
editor.putInt("best3", best3);
editor.putInt("best2", best2);
editor.apply();
}
if (lastScore > best1) {
int temp = best1;
best1 = lastScore;
best2 = temp;
SharedPreferences.Editor editor = preferences.edit();
editor.putInt("best2", best2);
editor.putInt("best1", best1);
editor.apply();
}
table_score.setText("LAST SCORE: " + lastScore + "\n" +
"BEST1: " + best1 + "\n" +
"BEST2: " + best2 + "\n" +
"BEST3: " + best3);
score = getIntent().getExtras().get("score").toString();
gameStart = (Button) findViewById(R.id.restart_btn);
numberScore = (TextView) findViewById(R.id.scoreCount);
gameStart.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(EndActivity.this, WaterActivity.class);
startActivity(intent);
}
});
numberScore.setText("Score = " + score);
}
@Override
public void onBackPressed() {
Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);
}
}
package com.example.spaceattack;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.view.WindowManager;
import java.util.Timer;
import java.util.TimerTask;
public class MainActivity extends AppCompatActivity
{
private SpaceShipView gameView;
private Handler handler = new Handler();
private final static long Interval = 30;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
gameView = new SpaceShipView(this);
setContentView(gameView);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN);
} else {
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run()
{
handler.post(new Runnable() {
@Override
public void run()
{
gameView.invalidate();
}
});
}
}, 0, Interval);
}
}
[
专注分享java语言的经验与见解,让所有开发者获益!
评论