Android Studio defaultValue /传递变量[复制]

问题描述 投票:0回答:3

这个问题在这里已有答案:

我是Android Studio和java的新手,所以希望你能帮助我。我想将一个双变量从on活动传递给下一个。但我不确定接收活动中defaultValue的需求是什么。

以下是活动一的代码:

@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);

以下是第二个活动的代码:

@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));
java android android-studio default-value
3个回答
0
投票
            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个意图。那不是你想要的。只有一项活动可以在最前沿,你想做其中一项。不是都。

其次 - 你不想要getIntent().putExtra()。你想要ruber.putExtra()。您需要将额外的内容放在您发送给其他活动的意图上。调用getIntent将获得启动当前Activity的意图,这不是您发送到下一个的意图。


0
投票

使用此代码:

 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 "));

0
投票

将代码添加到第二个活动:

 double breite=getIntent().getDoubleExtra("next",0d);

太简单

© www.soinside.com 2019 - 2024. All rights reserved.