Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 单击(按钮)三次后,通过Intent应用程序将EditText integer传递给TextView会崩溃_Java_Android_Android Intent_Android Edittext_Textview - Fatal编程技术网

Java 单击(按钮)三次后,通过Intent应用程序将EditText integer传递给TextView会崩溃

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

我正试图将int用户输入传递给下一个类并打印它,在继续使用它或其他东西之前,请查看它是否工作

Home.java

启动和退出按钮

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!