我是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变量的值。有人可以帮忙吗?
答案 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);