簡體   English   中英

打算進行其他活動的Android Studio

[英]Android Studio with intent to other activities

intent.putExtra ( "result", (double) kg / (Math.pow (tall, 2)) / 10000);// <SecondActivity> 
     result = intent.getDoubleExtra double ("result", 0); //<ThirdActivity>
     I have tried the following: 

     tall: 150 cm 
     kg: 50kg 
     result: 1.95 .... (original calculations. 19.5) 

    Even if the value does not appear 10 Multiply.

★浮法投擲的結果不會來。

問題發生在受精后。 打算進行其他活動的Android Studio (原始代碼)

[第二活動]

public class SecondActivity extends Activity {

RadioGroup rg;
ImageButton button4;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.second);

    rg = (RadioGroup) findViewById(R.id.radioGroup);
    button4 = (ImageButton) findViewById(R.id.button4);

    button4.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {

            RadioButton rd = (RadioButton) findViewById(rg.getCheckedRadioButtonId());
            //String str_Qtype = rd.getText().toString();

            EditText et1 = (EditText) findViewById(R.id.EditText02); // tall (inot typing error)
            EditText et2 = (EditText) findViewById(R.id.EditText01); // kg (not typing error)

            int tall = Integer.parseInt(et1.getText().toString());
            int kg = Integer.parseInt(et2.getText().toString());
            Intent intent = new Intent(SecondActivity.this, ThirdActivity.class);
            intent.putExtra("tall", Integer.parseInt(et1.getText().toString()));
            intent.putExtra("kg", Integer.parseInt(et2.getText().toString()));
            intent.putExtra("result",(double)kg/(Math.pow(tall,2))/10000);
            startActivity(intent);
        }
    });
}

}

[ThridActivity]

package com.example.bmi_calculate;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.PersistableBundle;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;

public class ThirdActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.third);

        Intent intent = getIntent();

        int tall = intent.getIntExtra("tall", 0);
        int kg = intent.getIntExtra("kg", 0);
        double result = intent.getDoubleExtra("result",0);

        TextView tv1 = (TextView) findViewById(R.id.textView1);
        TextView tv2 = (TextView) findViewById(R.id.textView2);
        TextView tv3 = (TextView)findViewById(R.id.textView3);
        tv1.setText("" + tall);
        tv2.setText("" + kg);
        tv3.setText(""+String.valueOf(result));
    }
}

要保存值,請執行以下操作:

intent.putExtra("result",(float) (kg/((tall*0.01)*(tall*0.01))) ); // tall in cm unit

您需要獲取float值或另存為int

float result = intent.getFloatExtra("result", 0f);

[編輯]-固定代碼錯字

在第二個活動中,您將結果存儲在變量high和kg中,創建第三個變量結果並將該變量傳遞給方法

@Override
        public void onClick(View v) {

            RadioButton rd = (RadioButton) findViewById(rg.getCheckedRadioButtonId());
            //String str_Qtype = rd.getText().toString();

            EditText et1 = (EditText) findViewById(R.id.EditText02); // tall (inot typing error)
            EditText et2 = (EditText) findViewById(R.id.EditText01); // kg (not typing error)

            int tall = Integer.parseInt(et1.getText().toString());
            int kg = Integer.parseInt(et2.getText().toString());
            float result = kg/(tall*0.1)*(tall*0.1))
            Intent intent = new Intent(SecondActivity.this, ThirdActivity.class);
            intent.putExtra("tall", tall);
            intent.putExtra("kg", kg);
            intent.putExtra("result",result);
            startActivity(intent);

在第三次活動中

float result = intent.getFloatExtra("result",0);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM