我是这个领域的初学者。 如何从一个包访问另一个包。
例如:
package add;
public class Addfunction {
int a,b,sum;
public int add(int x,int y)
{
a=x;
b=y;
sum=a+b;
return sum;
}
}
在我的第二个包中
package com.example.demoo;
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
int Result;
Addfunction addfunction=new Addfunction();
Result=addfunction.add(5, 10);
Toast.makeText(getApplicationContext(), Result , Toast.LENGTH_LONG).show();
}
}
在运行时显示不幸的应用程序已停止。 请帮我解决这个问题。
答案 0 :(得分:0)
您访问Addfunction
课程的方式没有错。但考虑两件事。
首先,您必须在Addfunction
类定义之前为MainActivity
类添加导入:
import add.Addfunction;
虽然你可能已经有了,但因为它不会编译。
其次,您可能正在使用此makeText
:
static Toast makeText(Context context,int resId,int duration)
使用包含资源文本的文本视图制作标准Toast。
而不是:
static Toast makeText(Context context,CharSequence text,int duration)
制作一个只包含文本视图的标准吐司。
注意第二个参数是第一种情况下的int
,它指的是资源。而你只是传递计算结果,这可能是一个无效的资源ID。
您可能想尝试在String
对象中构建消息并将其传递给makeText
,如下所示:
String msg = "Result: " + Result;
Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_LONG).show();