Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.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/9/three.js/2.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 将编辑文本传递给新活动_Java_Android - Fatal编程技术网

Java 将编辑文本传递给新活动

Java 将编辑文本传递给新活动,java,android,Java,Android,我的主活动.xmlEditText中有一个按钮 在编辑文本中,我插入一个名称,单击按钮后,将显示一个具有新布局的新活动 现在,我想在我的新活动中使用EditText中的值(hiscores.xml),但是应用程序崩溃了 我的主要活动如下: package com.example.test; import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundl

我的
主活动.xml
EditText
中有一个
按钮

编辑文本
中,我插入一个名称,单击
按钮
后,将显示一个具有新布局的新活动

现在,我想在我的新活动中使用EditText中的值(
hiscores.xml
),但是应用程序崩溃了

我的主要活动如下:

package com.example.test;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {
    private Button button;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.opening_screen);

        button = findViewById(R.id.continue_button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                openHiScore();
            }
        });
    }

        public void openHiScore(){
            Intent intent = new Intent(this,HiScore.class);
            startActivity(intent);

        }

}
然后,在他的核心代码是

package com.example.test;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.EditText;


public class HiScore extends AppCompatActivity {

    EditText Name= (EditText)findViewById(R.id.username_text);
    String UserName = Name.getText().toString();

   @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.hiscore);
    }
}
如何正确获取插入到
EditText
中的值,以便在字符串
UserName
中使用它


谢谢大家!

使用bundle将数据从一个活动发送到另一个活动。将数据存储到bundle中,并创建放置额外bundle的意图,以便传递数据

public void openHiScore(){
            Intent intent = new Intent(this,HiScore.class);
            Bundle b = new Bundle();
            b.putString("name", editText.getText().toString());
            intent.putExtras(b)
            startActivity(intent);

        }

In the HiScore class extract the data from the Bundle.

public class HiScore extends AppCompatActivity {

   @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.hiscore);

        Intent in = getIntent();
        // get the Bundle that stores the data of this Activity
        Bundle b = in.getExtras();

        // getting data from bundle
        String name = b.getString("name");
    }
}

要将数据从一个活动传递到另一个活动,您需要将数据作为额外的添加到您的
意图

    public void openHiScore(){
        Intent intent = new Intent(this,HiScore.class);
        intent.putExtra("NAME_INPUT",nameString)
        startActivity(intent);
    }
然后,在接收活动中,您需要从
意图中检索名称:

   @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.hiscore);
        String name = getIntent().getStringExtra("NAME_INPUT");    
    }

使用bundle将值从一个活动传递到另一个活动,请参见此处使用
bundle
Intent
putXX()
传递数据,以及每当出现异常相关问题时,发布stacktrace