Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/399.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 安卓在onClick之后访问新活动中的EditText数据_Java_Android_Xml_Android Studio - Fatal编程技术网

Java 安卓在onClick之后访问新活动中的EditText数据

Java 安卓在onClick之后访问新活动中的EditText数据,java,android,xml,android-studio,Java,Android,Xml,Android Studio,我是一个新的android程序员,我正在使用android studio。我正在创建一个成绩计算器应用程序。我允许用户在第一个布局/活动中输入分级比例,然后我可以跳转到第二个布局/活动。但我不确定如何访问第二个活动文件中的数据。我在第二个活动中有一个文本视图,我正在测试是否可以通过更改第二个活动中的文本视图来访问第一个活动中的编辑视图数据,但我失败了。请帮忙,谢谢 这是我的活动代码 @Override public void onClick(View v){ switch (v.getI

我是一个新的android程序员,我正在使用android studio。我正在创建一个成绩计算器应用程序。我允许用户在第一个布局/活动中输入分级比例,然后我可以跳转到第二个布局/活动。但我不确定如何访问第二个活动文件中的数据。我在第二个活动中有一个文本视图,我正在测试是否可以通过更改第二个活动中的文本视图来访问第一个活动中的编辑视图数据,但我失败了。请帮忙,谢谢

这是我的活动代码

@Override
public void onClick(View v){
    switch (v.getId()){
        case R.id.button_next:
            scale = (EditText)findViewById(R.id.gradeScale);
            String getInput = scale.getText().toString();
            TextView gc_scale=(TextView) findViewById(R.id.what);
            //gc_scale.setText(getInput);

            Intent i = new Intent(this, classEnterActivity.class);
            i.putExtra("scale",getInput);
            //i.putExtra("scaleG",getInput);
            startActivity(i);
            break;
    }
}
这是我的第二个活动文件,我想将textView输出更改为我在第一个活动中输入的字符串。有时我的应用程序会崩溃

public class classEnterActivity extends Activity implements OnClickListener{
@Override
protected void onCreate(Bundle savedInstanceState){


    super.onCreate(savedInstanceState);
    setContentView(R.layout.course);

    //View ContinueButton = findViewById(R.id.button_next);
    //ContinueButton.setOnClickListener(this);
}

@Override
public void onClick(View v){

    TextView output=(TextView)findViewById(R.id.what);
    Intent intent=getIntent();
    String str=intent.getStringExtra("scale");
    output.setText(str);
    switch (v.getId()){
        case R.id.button_next:

            break;
    }
}}

问题可能是
getIntent()
返回null

@Override
public void onClick(View v) {
    TextView output=(TextView)findViewById(R.id.what);
    Intent intent=getIntent();
    if (intent != null) {
        String str=intent.getStringExtra("scale");
        output.setText(str);
        ...
    }
}

还有一种可能性是,
输出
为null,甚至是
v
,您可以使用类似的null检查来修复这些错误

问题可能是
getIntent()
返回null

@Override
public void onClick(View v) {
    TextView output=(TextView)findViewById(R.id.what);
    Intent intent=getIntent();
    if (intent != null) {
        String str=intent.getStringExtra("scale");
        output.setText(str);
        ...
    }
}

还有一种可能性是,
输出
为空,甚至是
v
,您可以使用类似的空检查来修复这些错误。谢谢大家回答我的问题。我只是自己想出来的。虽然不知道如何,但我基本上重写了我的第二个活动文件。查看此网站的格式:


我想我犯了一些愚蠢的问题,但我不确定它们是什么。

好的,各位。谢谢大家回答我的问题。我只是自己想出来的。虽然不知道如何,但我基本上重写了我的第二个活动文件。查看此网站的格式:


我想我犯了一些愚蠢的问题,但我不确定它们是什么。

有什么错误?我猜这只是一个空指针——注意:我想我的问题应该是如何在设置contentview之后添加onClick函数。因此,如果我在第二个文件中取消注释这两行:View ContinueButton=findViewById(R.id.button_next);ContinueButton.setOnClickListener(此);当我运行我的应用程序时,它会显示“不幸的是,应用程序已停止”转到您的日志。崩溃的错误是什么?是的,空指针异常您需要粘贴stacktrace。我可以看到你问了其他问题-你需要阅读我上面的链接。错误是什么?我猜这只是一个空指针——注意:我想我的问题应该是如何在设置contentview之后添加onClick函数。因此,如果我在第二个文件中取消注释这两行:View ContinueButton=findViewById(R.id.button_next);ContinueButton.setOnClickListener(此);当我运行我的应用程序时,它会显示“不幸的是,应用程序已停止”转到您的日志。崩溃的错误是什么?是的,空指针异常您需要粘贴stacktrace。我可以看到你问了其他问题-你需要阅读我上面的链接。