如何从一个活动传递int变量值以覆盖另一个活动中的textview

时间:2015-04-07 16:47:23

标签: java android

我是Android编程新手。我有一组edittexts,我编写了一个代码来获取用户输入的值并执行数学计算。计算的最终值存储在int变量中。如何获取此int变量的值以覆盖另一个活动中textview的内容...这里是我编写的一些代码

Button nextbutton = (Button) findViewById(R.id.button1next);    
        nextbutton.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {

                double  readValue15= Double.valueOf(edit15watt.getText().toString());
                    readValue15= readValue15 * 15;
                    final Intent a = new Intent (getApplicationContext(), Summary.class);
                    a.putExtra("value", readValue15);
                    startActivity(a);
    -------------------------------------------------

关于其他活动,我已将此代码写下来。

公共类摘要扩展了ActionBarActivity {

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.summary);


    int valueone = getIntent().getIntExtra("value",);
    TextView watt15 = (TextView) findViewById(R.id.textView2);
    watt15.setText("The total power consumed by 15watt bulbs is" +valueone);
                 .................

但每当我启动应用程序时,它都会给我一个结果 " 15瓦灯泡消耗的总功率为0"。我希望它显示在上一个活动中创建的int变量的值。有人可以帮忙吗?

4 个答案:

答案 0 :(得分:0)

你需要这样做,

您正在从一个活动传递字符串,您需要在另一个活动中使用以下代码:

double valueone = getIntent().getDoubleExtra("value", "0");

    TextView watt15 = (TextView) findViewById(R.id.textView2);
    watt15.setText("The total power consumed by 15watt bulbs is" +valueone);

希望这有帮助。

答案 1 :(得分:0)

试试这个:

float readValue15 = Float.valueOf(edit15watt.getText().toString()) * 15f;

请注意 15 后的 f 。您的问题可能是由于精度损失造成的。

答案 2 :(得分:0)

那是因为你将一个浮点值放在bundle中并得到一个int值。反而浮起来。

答案 3 :(得分:0)

将第二个活动中的代码更改为此代码。您一定会得到您想要的结果。

Intent i=getIntent();
int valueone = (int)i.getDoubleExtra("value",0);
TextView watt15 = (TextView) findViewById(R.id.textView2);
watt15.setText("The total power consumed by 15watt bulbs is" +valueone);