Android Studio 默认值/传递变量
Android Studio defaultValue/ passing Variables
我是 Android Studio 和 java 的新手,希望您能帮助我。
我想将一个双精度变量从 activity 传递到下一个。
但我不确定需要什么,所以在接收 activity.
中输入 defaultValue
这是来自 activity 的代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button weiter = (Button)findViewById(R.id.weiter);
weiter.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
EditText EingabeBreite = (EditText)findViewById(R.id.breite);
double breite = Double.parseDouble(EingabeBreite.getText().toString());
Intent rüber = new Intent(getApplicationContext(), Main2Activity.class);
getIntent().putExtra("next", breite);
startActivity(rüber);
这是第二个 activity 的代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
TextView ergebnis = (TextView)findViewById(R.id.textView2);
Bundle extras = getIntent().getExtras();
double breite = extras.getDouble("next");
ergebnis.setText(Double.toString(breite));
Intent weiter = new Intent(MainActivity.this,Main2Activity.class);
startActivity(weiter);
EditText EingabeBreite = (EditText)findViewById(R.id.breite);
double breite = Double.parseDouble(EingabeBreite.getText().toString());
Intent rüber = new Intent(getApplicationContext(),MainActivity.class);
getIntent().putExtra("next","breite");
startActivity(rüber);
首先 - 您正在启动 2 个意图。那不是你想要的。只有一个activity可以在最前面,你想做其中之一。两者都不是。
其次-你不想getIntent().putExtra()
。你想要ruber.putExtra()
。你需要把额外的放在你发送给另一个人的意图上 activity。调用 getIntent 将获得启动当前 Activity
的意图,这不是您要发送给下一个的意图。
使用此代码:
Intent mIntent = new Intent(HomeActivity.this, CenterActivity.class);
mIntent.putExtra("thevalue ", 0.0d);
startActivity(mIntent);
Intent intent = getIntent();
double d = Double.parseDouble(intent.getExtras().getString("thevalue "));
将代码添加到第二个 activity:
double breite=getIntent().getDoubleExtra("next",0d);
如此简单
我是 Android Studio 和 java 的新手,希望您能帮助我。 我想将一个双精度变量从 activity 传递到下一个。 但我不确定需要什么,所以在接收 activity.
中输入 defaultValue这是来自 activity 的代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button weiter = (Button)findViewById(R.id.weiter);
weiter.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
EditText EingabeBreite = (EditText)findViewById(R.id.breite);
double breite = Double.parseDouble(EingabeBreite.getText().toString());
Intent rüber = new Intent(getApplicationContext(), Main2Activity.class);
getIntent().putExtra("next", breite);
startActivity(rüber);
这是第二个 activity 的代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
TextView ergebnis = (TextView)findViewById(R.id.textView2);
Bundle extras = getIntent().getExtras();
double breite = extras.getDouble("next");
ergebnis.setText(Double.toString(breite));
Intent weiter = new Intent(MainActivity.this,Main2Activity.class);
startActivity(weiter);
EditText EingabeBreite = (EditText)findViewById(R.id.breite);
double breite = Double.parseDouble(EingabeBreite.getText().toString());
Intent rüber = new Intent(getApplicationContext(),MainActivity.class);
getIntent().putExtra("next","breite");
startActivity(rüber);
首先 - 您正在启动 2 个意图。那不是你想要的。只有一个activity可以在最前面,你想做其中之一。两者都不是。
其次-你不想getIntent().putExtra()
。你想要ruber.putExtra()
。你需要把额外的放在你发送给另一个人的意图上 activity。调用 getIntent 将获得启动当前 Activity
的意图,这不是您要发送给下一个的意图。
使用此代码:
Intent mIntent = new Intent(HomeActivity.this, CenterActivity.class);
mIntent.putExtra("thevalue ", 0.0d);
startActivity(mIntent);
Intent intent = getIntent();
double d = Double.parseDouble(intent.getExtras().getString("thevalue "));
将代码添加到第二个 activity:
double breite=getIntent().getDoubleExtra("next",0d);
如此简单