gpt4 book ai didi

java - 我正在开发一个项目,在该项目中我必须从一项 Activity 传输名称和值等数据

转载 作者:行者123 更新时间:2023-12-02 10:31:49 26 4
gpt4 key购买 nike

我正在开发一个项目,在该项目中,我必须从一个 Activity 传输名称和值等数据,并将其显示在另一个 Activity 的 TextView 上,但每次我执行此操作时,都会显示这些变量的初始值,而不是显示Java 类 Activity 中正在更新的当前值请注意,这是在 android studio 上,我只是一个即将到来的程序员,请宽容一点。

我已经使用了 set 和 get 静态方法以及 Intent 和 bundle ,但它仍然显示初始值而不是当前值

这是代码

package com.example.android.bmi;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
public class Main2Activity extends AppCompatActivity {
private String name;
private int year;
private double BMI;
public String Diag;
@Override
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2);}
public void setName(){
EditText nameF = (EditText)findViewById(R.id.name);
name = nameF.getText().toString();
}
public String getName() { return name;}
public void setYear(){
EditText yearF = (EditText)findViewById(R.id.year);
String value = yearF.getText().toString();
year = Integer.parseInt(value);
}
public void setAge() { age = 2018 - year;}
public void setBMI(){
EditText heightF = (EditText)findViewById(R.id.height);
String value = heightF.getText().toString();
height = Integer.parseInt(value);
EditText weightF = (EditText)findViewById(R.id.weight);
String value1 = weightF.getText().toString();
weight = Integer.parseInt(value);
BMI = (weight*567)/(height*height);
}
public String getDiag(){
Diag = "Name: " + name;
Diag += "\nYear of Birth: " + year;
Diag += "\nAge: " + age;
Diag += "\nBMI" + BMI;
return Diag;
}public void mainN(View view) {
String bread = getDiag();
Bundle basket = new Bundle();
basket.putString("key", bread);
Intent a = new Intent(Main2Activity.this, Main3Activity.class); a.putExtras(basket);
startActivity(a);
}}

接收 Activity 是

package com.example.android.bmicalculator;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;

public class Main3Activity extends AppCompatActivity {


String display;
@Override
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main3);
TextView tv = (TextView)findViewById(R.id.info);
Bundle gotBasket = getIntent().getExtras();
display = gotBasket.getString("key");
tv.setText(display); }

最佳答案

您似乎需要帮助将数据一个 Activity 传递到另一个 Activity

在您的发件人 Activity 中,启动其他 Activity 时使用以下代码 -

Intent intent = new Intent(this, NewActivity.class);
intent.putExtra("NAME", name);
intent.putExtra("VALUE", value);
startActivity(intent);

这里,"NAME""VALUE" 是字符串常量,用于标识您要发送的数据,name value是所需类型的变量(请参阅 the documentation 以获取 putExtra() 方法列表)。

现在,在您的接收 Activity 中,您想要获取数据。使用 getIntent().getStringExtra(String name); 等方法获取 String 或 getIntent().getIntExtra(String name, int defaultValue); 获取 int (列出了其他可用方法 here )。例如。

String name = getIntent().getStringExtra("NAME");
int value = getIntent().getIntExtra("VALUE",0);
textView.setText(name);

下次提出问题时,尝试自己完成任务,并在问题中添加您已经尝试过的内容以及一些相关代码,以帮助我们理解您的问题。

关于java - 我正在开发一个项目,在该项目中我必须从一项 Activity 传输名称和值等数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53578838/

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