我在這裏搜索了幾個帖子在stackoverflow,發現沒有談論遷移整數,嘗試了幾件事情,但它沒有成功。我是初學者,我可能錯過了一些愚蠢的東西,但我看不到它是什麼。如何接收其他活動的數據?
我正在設置一個測驗,有幾個活動,我想要做一個分數,爲每個活動的每個正確問題添加1分。
這是我的代碼不起作用。如果有人能幫助我,我很感激。
活動1
public class A_Activity extends AppCompatActivity {
TextView score;
int mScore = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.a_activity);
score = (TextView) findViewById(R.id.score);
score.setText("Score: " + mScore);
}
public void onClickTrue(View v) {
mScore++;
score.setText("Score: " + mScore);
Intent i = new Intent(this, B_Activity.class);
Bundle params = new Bundle();
params.putInt("mScore", mScore);
i.putExtras(params);
startActivity(i);
}
活動2(接收)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.b_activity);
Intent i = getIntent();
if (i != null){
Bundle params = i.getExtras();
if (params != null){
String mScore = params.getString("mScore");
}
}
}
如何解決這一問題?謝謝。
在第二活動
爲什麼你不能用'params.getInt(String鍵)'? –
這將工作100%:String mScore = getIntent()。getIntExtra(「mScore」,0); –
你傳遞一個int(params.putInt(「mScore」,mScore))並期待一個字符串(params.getString(「mScore」))。你應該使用params.getInt(「mScore」) –