gpt4 book ai didi

java - .putExtra Intent 后应用程序崩溃

转载 作者:行者123 更新时间:2023-11-29 09:28:03 25 4
gpt4 key购买 nike

我正在尝试将一个变量从一个 Activity 发送到另一个 Activity 。当我尝试在我的手机上测试该应用程序时,它崩溃了,并显示该应用程序已停止工作。

发送方的代码

if (id==R.id.action_cart){

Intent good1 = new Intent(MainActivity.this, Scroll.class);

good1.putExtra("intVariableName", 5);
startActivity(good1);

TextView hides = (TextView) findViewById(R.id.textView3);
hides.setVisibility(View.INVISIBLE);
}

接收端的代码

public class Scroll extends AppCompatActivity {
TextView btn = (TextView) findViewById(R.id.text);

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

Intent mIntent = getIntent();
int intValue = mIntent.getIntExtra("intVariableName", 0);

btn.setText(intValue);



}}

如果您知道问题出在哪里,请告诉我。我花了几个小时寻找解决方案。谢谢

最佳答案

您需要将此 TextView btn = (TextView) findViewById(R.id.text); 移动到 oncreate 中,因为在 oncreate 之前Scroll Activity 没有附加布局,使用此 findViewById(R.id.text) 查找 textview 将导致失败,因此崩溃

public class Scroll extends AppCompatActivity {
TextView btn;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_scroll);
btn = (TextView) findViewById(R.id.text)
//^^^^
Intent mIntent = getIntent();
int intValue = mIntent.getIntExtra("intVariableName", 0);
btn.setText(""+intValue);
}
}

注意:为清楚起见,使用适当的命名约定,例如 textViewVar 用于 TextView 而不是 btn 并转换您的 int 使用 ""+valuetext 赋值,因为 TextView 只允许使用 String

关于java - .putExtra Intent 后应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41373598/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com