我正在開發一個孩子學習開發應用程序,我想在屏幕上方有一個分數,以顯示他們到目前爲止有多少問題。我有一個if語句,說明他們是否用正確的字母拼寫答案,然後移動到下一個活動,但是當他們移動時,我希望他們的分數更新。想通過計數器通過第二項活動的意圖,但當我點擊提交按鈕應用程序崩潰。 這裏是一流的傳遞一個計數器通過意圖到一個新的活動
package com.helloworld.erica.alphaanimals;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import static com.helloworld.erica.alphaanimals.R.id.imageView;
public class button_a extends Activity {
private Button button_b;
TextView scoreText;
int counter = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.button_a);
//final TextView score = (TextView) findViewById(R.id.score);
final ImageView ImageView = (ImageView) findViewById(imageView);
Button submit = (Button) findViewById(R.id.submit);
submit.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
EditText answerA = (EditText) findViewById(R.id.answerA);
String toCompare = answerA.getText().toString();
TextView score = (TextView)findViewById(R.id.score);
if(toCompare.startsWith("A")) {
Intent intent_b = new Intent(button_a.this, button_b.class);
intent_b.putExtra("username", score.getText().toString());
startActivity(intent_b);
counter++;
scoreText.setText(Integer.toString(counter));
Toast.makeText(button_a.this, "Well Done, correct answer!!", Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(button_a.this, "Incorrect", Toast.LENGTH_SHORT).show();
}
}
});
}
} 這裏設立之前的第二
package com.helloworld.erica.alphaanimals;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
public class button_b extends Activity {
private Button button_c;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.button_b);
final ImageView ImageView = (ImageView) findViewById(imageView);
Button submit = (Button) findViewById(R.id.submit);
TextView scoreText = (TextView) findViewById(R.id.scoreText);
scoreText.setText(getIntent().getExtras().getString("username"));
submit.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
EditText answerB = (EditText) findViewById(R.id.answerB);
String toCompare = answerB.getText().toString();
if(toCompare.startsWith("B")) {
Intent intent_c = new Intent(button_b.this, button_c.class);
startActivity(intent_c);
//ImageView.setImageResource(R.drawable.bear);
Toast.makeText(button_b.this, "Well Done, correct answer!!", Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(button_b.this, "Incorrect", Toast.LENGTH_SHORT).show();
}
}
});
}
}
請發佈crashtraptrace。 –
set scoretext「counter ++; scoreText.setText(Integer.toString(counter));」在意圖之前 –
您的'scoreText'在'button_a'活動中爲'null'。還要調用這個'counter ++; scoreText.setText(Integer.toString(counter));'在開始新的活動之前。 – Piyush