我想在另一个活动中使用变量。
public class Score extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.score);
TextView q1_teacherside = (TextView) findViewById(R.id.q1_score);
TextView q2_teacherside = (TextView) findViewById(R.id.q2_score);
TextView final_score = (TextView) findViewById(R.id.final_score);
SharedPreferences my_preferences = PreferenceManager
.getDefaultSharedPreferences(getApplication());
int q1_answer = my_preferences.getInt("key1", 0);
int q2_answer = my_preferences.getInt("key2", 0);
if (q1_answer == 1) {
q1_teacherside.setText("Correct");
q1_teacherside.setTextColor(Color.GREEN);
} else {
q1_teacherside.setText("Incorrect");
q1_teacherside.setTextColor(Color.RED);
}
if (q2_answer == 1) {
q2_teacherside.setText("Correct");
q2_teacherside.setTextColor(Color.GREEN);
} else {
q2_teacherside.setText("Incorrect");
q2_teacherside.setTextColor(Color.RED);
}
int finalscore = q1_answer + q2_answer;
final_score.setText(finalscore + "/2");
}
}
我想在另一个活动中使用变量“finalscore”。
有人能回答这个问题吗? 谢谢。
答案 0 :(得分:0)
在类中创建一个方法,如
public static int getFinalScore(){
return finalscore;
}
然后在你的新班级
int newfinalScore = PreviousClass.getFinalScore();
或者你可以简单地将finalscore设置为公开。
public int finalscore;
int newfinalScore = PreviousClass.finalScore
注意:不要完成旧活动,因此不会返回原始值。
答案 1 :(得分:0)
你可以把它放在这个活动中:
Intent i = new Intent(Score.this, NewActivity.class);
i.putExtra("finalscore",finalscore);
startActivity(i);
然后在您的其他活动中,您可以检索如下值:
Bundle extras = getIntent().getExtras();
if (extras != null) {
int finalscore = extras.getInt("finalscore");
}
来源:
How do I pass data between Activities in Android application?