我是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;
}
}
我尝试了一些替代方案,但无济于事。它会变得简单,我做得不对。
任何帮助表示感谢。
由于
答案 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();