我有一个服务类MyService及其方法MyMethod,其中实例化了B类(非活动)并调用了B类方法。该方法显示一个toast msg
public class MyService extends Service {
public void MyMethod() {
B b=new B();
b.methodOfB();
}
Class B
{
void methodOfB(){
Toast(.....);
}
}
请告诉我如何使这个toast msg工作。
答案 0 :(得分:0)
您可以将MyService(父类)扩展到其B类(子类),然后您可以轻松地使用Toast。像这样:
public class MyService extends Service {
public void MyMethod() {
B b=new B();
b.methodOfB();
}
Class B extends MyService
{
void methodOfB(){
Toast.makeText(this, "Your message here...", Toast.LENGTH_SHORT).show();
}
}
答案 1 :(得分:0)
将您的活动的上下文发送到非活动,例如
BMethod=new BMethod(MainActivity.this);
答案 2 :(得分:0)
Service
是Context
的子类。因此,我们可以将它传递给类B
:
public class MyService extends Service {
public void MyMethod() {
B b=new B(this);
b.methodOfB();
}
B类的Context
引用为:
class B
{
private Context context;
public B(Context context){
this.context = context;
}
public void methodOfB(){
//now create the toast message
Toast.makeText(this.context, "Hello World!", Toast.LENGTH_LONG).show();
}
}