我正在像这样检索 TextView 的值
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.calculation);
TextView heading = (TextView) findViewById(R.id.paper_name);
......
}
我在同一个类中有另一个方法
@Override
public void onClick(View v) {
int BLACK_AND_WHITE_MULTIUPLIER = 4200;
int COLOR_MULTIUPLIER = 6400;
switch (v.getId()) {
case R.id.btCalculate:
int multiplier = rbColor.isChecked() ? COLOR_MULTIUPLIER : BLACK_AND_WHITE_MULTIUPLIER;
int column = Integer.parseInt((String) spColumn.getSelectedItem());
int inch = Integer.parseInt((String) spInch.getSelectedItem());
tvAmount.setText((multiplier * column * inch) + "");
break;
}
}
我想根据从 onCreate 方法获得的 heading 值设置 COLOR_MULTIUPLIER
和 BLACK_AND_WHITE_MULTIUPLIER
的值。可能吗?
最佳答案
在类级别声明您的 TextView
...
TextView heading;
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.calculation);
heading = (TextView) findViewById(R.id.paper_name);
heading.setText("something");
......
然后在 onClick()
方法中访问它,如下所示...
@Override
public void onClick(View v)
{
int BLACK_AND_WHITE_MULTIUPLIER = 4200;
int COLOR_MULTIUPLIER = 6400;
switch (v.getId())
{
case R.id.btCalculate:
int multiplier = 0;
if (heading.getText().toString.equals("something")) {
multiplier = COLOR_MULTIUPLIER;
} else {
multiplier = BLACK_AND_WHITE_MULTIUPLIER;
}
//int multiplier = rbColor.isChecked() ? COLOR_MULTIUPLIER
// : BLACK_AND_WHITE_MULTIUPLIER;
int column = Integer.parseInt((String) spColumn
.getSelectedItem());
int inch = Integer.parseInt((String) spInch.getSelectedItem());
tvAmount.setText((multiplier * column * inch) + "");
break;
}
}
关于java - Java(android) 如何在另一个方法中使用一个方法的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22216633/