gpt4 book ai didi

java - Intent.getExtras 不起作用

转载 作者:太空宇宙 更新时间:2023-11-04 14:39:04 27 4
gpt4 key购买 nike

在一个类中,我在 onCreate 方法之外声明了以下变量:

Double isowei2 = 9.36;  
Double iso2 = 10.54;

在 onCreate 方法中,我有这个:

final Intent start = new Intent(IsoAbun.this, IsoAbunCal.class);
public void onClick(View arg0) {
isowei2 = 9.0;
iso2 = isowei2;
start.putExtra("iso2", iso2);
startActivity(start);
}

这两个代码位于一个类中。在另一个类中,我在 onCreate 方法中有这个:

    Bundle b = getIntent().getExtras();
Double iiso2 = 0.0;
iiso2 = b.getDouble("iso2");

据我了解,它应该做的是,当我单击第一个类中的按钮时,它将 isowei2 重新分配为 9.0,将 iso2 设置为 9.0 ,然后创建一个名为 iso2 的键,传入 iso2 的值,即 9.0,然后启动 Intent/Activity 。当它启动 Activity 时,它应该做的是创建一个包和一个 double 变量,然后将 iiso2 设置为 iso2,即 9.0。我有未显示的代码显示 iiso2 的值,但问题是它不显示 9.0,而是显示 10.54。有什么帮助吗?

最佳答案

您需要在 onCreate 中进行如下设置:

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.<your layout>);
final Intent start = new Intent(this, <OtherClass>.class);
Button btn = (Button)findViewById(R.id.btnId);//find from your activity xml, your button Id
btn.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
isowei2 = 9.0;
iso2 = isowei2;
start.putExtra("iso2", iso2);
startActivity(start);
}
});
}

在另一个类的oncreate方法中,您可以使用TextView来查看它,例如:

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bundle b = getIntent().getExtras();
Double iiso2 = 0.0;
iiso2 = b.getDouble("iso2");
// Create the text view
TextView textView = new TextView(this);
textView.setTextSize(20);
textView.setText(iiso2.toString());
setContentView(textView);
}

如果您没有为按钮分配 ID,下面是它在布局 xml 中的示例:

 <Button
android:id="@+id/btnId"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_send" />

关于java - Intent.getExtras 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25191169/

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