Android 获取静态类内部的活动
我有一个扩展了Android 获取静态类内部的活动,android,static,Android,Static,我有一个扩展了Asynctask的类,我想访问我的活动或它的上下文。每次尝试时,我都会发现无法从静态上下文引用或无法添加窗口--标记null不适用于应用程序 ps:我没有使用片段,这是唯一的活动。在异步任务中传递上下文时应该小心;你可能会造成泄漏。如果在声明任务时创建对异步任务中活动的弱引用,并在需要使用时通过调用.get()获取引用,则可以与异步任务中的活动进行交互 私有静态类YourAsyncTask扩展了AsyncTask{ 私人WeakReference WeakReference; Y
Asynctask
的类,我想访问我的活动或它的上下文。每次尝试时,我都会发现无法从静态上下文引用或无法添加窗口--标记null不适用于应用程序
ps:我没有使用片段,这是唯一的活动。在异步任务中传递上下文时应该小心;你可能会造成泄漏。如果在声明任务时创建对异步任务中活动的弱引用,并在需要使用时通过调用.get()获取引用,则可以与异步任务中的活动进行交互
私有静态类YourAsyncTask扩展了AsyncTask{
私人WeakReference WeakReference;
YourAsyncTask(YourActivity上下文){
weakReference=新的weakReference(上下文);
}
…
@凌驾
受保护的void onPostExecute(字符串){
YourActivity=weakReference.get();
}
}
在异步任务中传递上下文时应小心;你可能会造成泄漏。如果在声明任务时创建对异步任务中活动的弱引用,并在需要使用时通过调用.get()获取引用,则可以与异步任务中的活动进行交互
私有静态类YourAsyncTask扩展了AsyncTask{
私人WeakReference WeakReference;
YourAsyncTask(YourActivity上下文){
weakReference=新的weakReference(上下文);
}
…
@凌驾
受保护的void onPostExecute(字符串){
YourActivity=weakReference.get();
}
}
当我尝试执行Asynctask类时引发此错误:无法添加窗口--令牌null不适用于application@Paya您必须添加所有相关代码,以便我们更好地进行故障排除。我发现了这个问题。非常感谢您在上下文中的帮助。@Paya我很高兴您能理解它。谢谢你接受答案!当我尝试执行Asynctask类时引发此错误:无法添加窗口--令牌null不适用于application@Paya您必须添加所有相关代码,以便我们更好地进行故障排除。我发现了这个问题。非常感谢您在上下文中的帮助。@Paya我很高兴您能理解它。谢谢你接受答案!
private static class YourAsyncTask extends AsyncTask<String, String, String> {
Private WeakReference<YourActivity> weakReference;
YourAsyncTask(YourActivity context) {
weakReference = new WeakReference<>(context);
}
…
@Override
Protected void onPostExecute(String string) {
YourActivity activity = weakReference.get();
}
}