Android EMI计算器跳转下一页后如何在TextView显示计算结果
问题原因
你在启动Result页时没有将计算得到的emi值附加到跳转携带的参数中,所以目标页无法获取对应数值进行展示,按以下两步修改即可解决。
第一步:修改EmiCalculator页面跳转逻辑,附加计算结果
在你原有点击事件的跳转代码中,新增往Intent中传值的逻辑,修改后代码如下:
calculateButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { double emi_edit_Text_01 = Double.parseDouble(getText_1.getText().toString()); double emi_edit_Text_02 = Double.parseDouble(getText_2.getText().toString()); double emi_edit_Text_03 = Double.parseDouble(getText_3.getText().toString()); double emi = emical(emi_edit_Text_01, emi_edit_Text_02, emi_edit_Text_03); String str = String.valueOf(emi); TextView result = (TextView) findViewById(R.id.result_textView_3); result.setText(""+emi); Intent nextPage = new Intent(EmiCalculator.this,Result.class); // 新增传值逻辑,键名可自定义,但需和接收端保持完全一致 nextPage.putExtra("CALCULATED_EMI", emi); startActivity(nextPage); } });
第二步:在Result页面接收参数并展示到TextView
在Result页的onCreate生命周期中获取传递的数值,绑定到对应的展示控件即可,示例代码如下:
public class Result extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 替换为你Result页实际的布局文件名 setContentView(R.layout.activity_result); // 替换为你Result页中要展示EMI值的TextView实际ID TextView resultTv = findViewById(R.id.result_show_tv); // 接收EMI值,第二个参数为获取失败时的兜底默认值 double finalEmi = getIntent().getDoubleExtra("CALCULATED_EMI", 0.0); // 若需要格式化展示(比如保留2位小数),可以放开下面两行注释 // DecimalFormat decimalFormat = new DecimalFormat("0.00"); // resultTv.setText("每月应还:" + decimalFormat.format(finalEmi) + "元"); // 直接展示原始数值的写法 resultTv.setText("每月应还:" + finalEmi); } }
注意事项
- 传递和接收参数的键名
CALCULATED_EMI必须完全一致,否则会拿不到正确数值,返回兜底默认值 - 如果输入框可能为空,建议在获取输入值时增加非空判断,避免类型转换崩溃
- 可根据业务需求调整数值格式化规则,让展示效果更友好
内容的提问来源于stack exchange,提问作者Abhishek Dubey
相关产品推荐
相关产品推荐

