java - Java(android) 如何在另一个方法中使用一个方法的变量

标签 java android methods scope

我正在像这样检索 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_MULTIUPLIERBLACK_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/

相关文章:

c# - 属性和方法的区别

java - 为什么java不让我调用这个 protected 函数

java - CSS学生类

java - 如何防止关闭子框架时关闭父框架(Java + iReport)?

android - Lambda无法在Kotlin中进行多线程操作

android - 是否可以取消所有具有特定标签的通知?

Java:抽象类中的静态方法调用抽象非静态方法?

java servlet - 注册问题

java - Android 构造函数和 onCreate() 有什么区别?

android - 可以在 Android 中使用空布局吗?