传递参数其他活动

时间:2012-03-12 11:32:48

标签: android android-activity parameters android-intent

我的代码顶部

    package com.br.openeed.engtoolspro;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;

public class TubulaoDados extends Activity {

    // WIDGETS
    Spinner spTsolo;
    Button btCalcular;
    EditText etCarga, etMenorbase;
    TextView tvMenorbase, tvCm;

    // VARIABLES
    double valorCarga, valorTsolo, valorMenorbase, cargaKgf,
            verificacaoOblongada, verificacaoOblongada2, maiorBase, menorBase,
            areaFuste, diametroFuste, valorAlturabase, volumeBase;

我有以下方法在用户计算后调用:

// Writes the results to other activity

    public void chamaResultados() {
        Intent ITubulaoDados = new Intent(TubulaoDados.this,
                TubulaoResultados.class);
        ITubulaoDados.putExtra("resultadoDiametrofuste", diametroFuste);
        startActivity(ITubulaoDados);
    }

在另一项活动中有:

    package com.br.openeed.engtoolspro;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;

public class TubulaoResultados extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);

        setContentView(R.layout.tubulaoresultados);

        final TextView tvResultadofuste;
        Intent ITubulaoDados = getIntent();
        final String resultadoFuste;

        if (ITubulaoDados != null) {
            tvResultadofuste.setText(Double.parseDouble(diametroFuste));
            Log.i("TubulaoResultados","resultadoDiametrofuste" + diametroFuste);
        }
    }

}

我无法工作,我是初学者,不明白哪里出错,我认为我在另一项活动中创建的变量未被识别

3 个答案:

答案 0 :(得分:3)

试试这个,

如果diametroFuste是双倍的,

double  diametroFuste = getIntent().getExtras().get("resultadoDiametrofuste");
tvResultadofuste.setText(""+diametroFuste);

<强>更新

TubulaoResultados活动中

final TextView tvResultadofuste = (TextView)findViewById(R.id.<textview's id mentioned in tubulaoresultados.xml file>);
Intent ITubulaoDados = getIntent();

if (ITubulaoDados != null) {
double  diametroFuste = ITubulaoDados.getExtras().get("resultadoDiametrofuste");
tvResultadofuste.setText(Double.toString(diametroFuste));
Log.i("TubulaoResultados","resultadoDiametrofuste" + diametroFuste);
}

答案 1 :(得分:0)

String strValue = getIntent.getExtras()。getString(“resultadoDiametrofuste”);

答案 2 :(得分:0)

试试这个有用

 double diametroFuste;
 Bundle extra=getIntent().getExtras();
 if(extra!=null){
    diametroFuste=extra.getDouble("resultadoDiametrofuste");
 }