为了账号安全,请及时绑定邮箱和手机立即绑定

如何传递字符串参数使其成为类方法调用的一部分?

如何传递字符串参数使其成为类方法调用的一部分?

蛊毒传说 2021-09-29 15:00:38
我想知道如何将 convert_and_multiply 方法中的字符串参数传递给 findViewById 方法,使字符串成为方法调用的一部分,而不再是字符串。例如,我想传递参数“fruit_1_price”,使其变为 findViewById(R.id.fruit_1_price);我正在阅读 Java 中的“反射”,但我无法完全理解它,以及它是否适用于我的情况。我也尝试使用字符串通配符和占位符,但我无法理解如何制作字符串,而不是字符串。感谢您的任何帮助。        @Override        public void onClick(View view) {            Double fruit_1_total = convert_and_multiply("fruit_1_price", "fruit_1_spinner");//, fruit_2_total, fruit_3_total;            Toast.makeText(c, Double.toString(fruit_1_total),Toast.LENGTH_LONG).show();        }        public double convert_and_multiply(String v, String s) {           TextView price = findViewById(R.id.v);           Spinner amount = findViewById(R.id.s);           Double total = Double.valueOf(amount.getSelectedItem().toString()) * Double.parseDouble(price.getText().toString());          return total;        }
查看完整描述

2 回答

?
哈士奇WWW

TA贡献1799条经验 获得超6个赞

将您的方法更改为此代码:


public double convert_and_multiply(String v, String s) {

    Resources res = getResources();

    int id1 = res.getIdentifier(v, "id", getContext().getPackageName());

    TextView price = findViewById(id1);


    int id2 = res.getIdentifier(s, "id", getContext().getPackageName());

    Spinner amount = findViewById(id2);


    Double total = Double.valueOf(amount.getSelectedItem().toString()) * Double.parseDouble(price.getText().toString());


    return total;

}


查看完整回答
反对 回复 2021-09-29
  • 2 回答
  • 0 关注
  • 150 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信