Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/178.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 获取静态类内部的活动_Android_Static - Fatal编程技术网

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();
    }

}