将TextView文本设置为从另一个类的函数返回的内容

时间:2014-04-04 21:31:27

标签: android function methods int

我是Android的新手,我正在制作一个应用作为作业的一部分,并且无法通过此功能返回一个值 - 该应用关闭并收到错误消息:&#34 ;不幸的是,APP停止了#34;。

我有两个类,一个是MainActivity,一个是我想用来算术的类,它们是:

import com.calc.Calculation;

public class MainActivity extends Activity {
  private Calculation util;   
  calculate = (Button) findViewById(R.id.btnCalc);
  private TextView tvMultiply;

  @Override
  public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      tvMultiply = (TextView) findViewById(R.id.tvMult);
   }

  btnCalc.setOnClickListener(new OnClickListener() {
  @Override
  public void onClick(View v) {
    tvMiltiply.setText(String.valueOf(util.CalculateMult(4,6)));
    }
  });
}

package com.calc;

public class Calculation{

    public int CalculateMult(int numOne, int numTwo)
    {
    return numOne * numTwo;
    }

}

我尝试了一些替代方案,但无济于事。它会变得简单,我做得不对。

任何帮助表示感谢。

由于

2 个答案:

答案 0 :(得分:3)

您需要在接受成员之前为该类创建实例。

 private Calculation util = new Calculation() 

否则,在不创建实例的情况下,将类中的方法设置为静态和访问。

这可以通过将类定义为:

来完成
package com.calc;

public class Calculation{

    public static int CalculateMult(int numOne, int numTwo)
    {
        return numOne * numTwo;
    }

}

并将方法调用为:

Calculation.CalculateMult(4,6)

答案 1 :(得分:0)

你应该移动

  calculate = (Button) findViewById(R.id.btnCalc);
设置内容视图后,

到onCreate()函数。您还应该将onClickListener的赋值移动到onCreate()方法的按钮。

最后,您应该使用onCreate()中的new运算符初始化您的Calculation对象,即:

util = new Calculation();