Java 单击(按钮)三次后,通过Intent应用程序将EditText integer传递给TextView会崩溃
我正试图将int用户输入传递给下一个类并打印它,在继续使用它或其他东西之前,请查看它是否工作 Home.java 启动和退出按钮Java 单击(按钮)三次后,通过Intent应用程序将EditText integer传递给TextView会崩溃,java,android,android-intent,android-edittext,textview,Java,Android,Android Intent,Android Edittext,Textview,我正试图将int用户输入传递给下一个类并打印它,在继续使用它或其他东西之前,请查看它是否工作 Home.java 启动和退出按钮 public class Home extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R
public class Home extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button one = (Button) findViewById(R.id.b1);
one.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
goToSecondActivity();
}
});
Button two = (Button) findViewById(R.id.b2);
two.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
}
private void goToSecondActivity() {
Intent i = new Intent(this, SelectNumberOfPlayers.class);
startActivity(i);
}
}
SelectNumberOfPlayers.java
仅从输入中获取数字并将其传递给StartGame.class
public class SelectNumberOfPlayers extends AppCompatActivity {
EditText numberOfPlayers;
Button three;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.enter_number_of_players);
three = (Button) findViewById(R.id.button3);
three.setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
String txt = numberOfPlayers.getText().toString();
Intent i = new Intent(getApplicationContext(), StartGame.class);
i.putExtra("players", txt);
startActivity(i);
}
});
}
}
StartGame.java
接收Int并打印到TextView
public class StartGame extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.start_game);
Intent i = getIntent();
TextView numOfPlayersVal = (TextView) findViewById(R.id.txt2);
numOfPlayersVal.setText(i.getStringExtra("Player number"));
}
}
错误发生在哪里?我已将输入键盘设置为只接受数字。您忘记初始化您的编辑文本,请先在SelectNumberOfPlayer活动中初始化它
numberOfPlayers = (EditText) findViewById(R.id.numberOfPlayers);
2。
密钥必须相同才能有目的地传递和接收数据
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.start_game);
Intent i = getIntent();
TextView numOfPlayersVal = (TextView) findViewById(R.id.txt2);
numOfPlayersVal.setText(i.getStringExtra("players"));
}
1。您忘记初始化您的编辑文本,请先在SelectNumberOfPlayer活动中初始化它
numberOfPlayers = (EditText) findViewById(R.id.numberOfPlayers);
2。
密钥必须相同才能有目的地传递和接收数据
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.start_game);
Intent i = getIntent();
TextView numOfPlayersVal = (TextView) findViewById(R.id.txt2);
numOfPlayersVal.setText(i.getStringExtra("players"));
}
与问题共享您的崩溃日志为什么不使用额外的所需文本空间来发布堆栈跟踪,而不是用垃圾文本填充它?您没有在SelectNumberOfPlayers类中初始化EditText,这就是为什么它会崩溃初始化它不要对非引用的内容使用blockquote格式。如果需要标题,请使用标题标记或简单的黑体字。将崩溃日志与问题共享为什么不使用所需的额外文本空间发布堆栈跟踪,你没有在SelectNumberOfPlayers类中初始化EditText,这就是为什么它会崩溃初始化它,而不是用垃圾文本填充它。不要对非引用的内容使用块引用格式。如果您想要标题,请使用标题标记或简单黑体。这不会导致崩溃。Danyavad先生Nilesh:)没有初始化EditText导致崩溃!会的@Nilesh Rathod!Danyavad Nilesh先生:)没有初始化EditText导致了崩溃!会的@Nilesh Rathod!