是否可以从Application类的Activity类中调用方法?

问题描述:

我已经在Activity类中定义了一个公共方法(可以说some_method())。是否有可能在Application类中调用此方法。是否可以从Application类的Activity类中调用方法?

+0

我是你n eed创建一个新类,并在您的类中添加此方法,将其用于活动和Application类中。 –

+0

@Durgesh - 你试过了吗?发生了什么? – 0X0nosugar

+0

我正在编辑已经创建的项目。所以我不能更改Activity类。 – Durgesh

试试这个

yourActivity act = new Activity(); 
act.some_method(); 

`

+0

我得到“Null”错误。无法解析符号'Null'。 – Durgesh

+0

邮政堆栈跟踪异常? –

+0

对不起,删除无效 @Durgesh –

,你可以使用这样的单活动:

public class YourActivity extends AppCompatActivity { 

public static YourActivity instance; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_layout); 

    instance=this; 

    //your code 

} 

//your method 
public void yourMethod() { 

} 

@Override 
protected void onDestroy() { 
    super.onDestroy(); 
    instance=null; 
} 

} 

然后在你的应用方法,你可以打电话给你的活动这样的方法:

if (YourActivity.instance != null) { 
    YourActivity.instance.yourMethod(); 
}