用于重构常见调用的 CustomAsync 任务
CustomAsync task to refactor common calls
我有一个class文件
TMDB_Async.java
public class TMDB_Async {
public class GetGenres extends CustomAsyncTask<Object, Void, String> {...}
public class GetMovies extends CustomAsyncTask<Object, Void, String[][]> {...}
}
注:正在执行中:
CustomAsyncTask.java
public abstract class CustomAsyncTask<T,T,T> extends AsyncTask<T,T,T> {...}
然后我想使用它.. 类似:
SomeActivity.java
new TMDB_Async.GetGenres(textView).execute(id);
但是 红色波浪形突出显示 告诉我 TMDB_Async
不是封闭的 class。它邀请我进行静态导入,它会自动将其生成为 xyz....TMDB_Async.*
,但这并不能解决问题。如果我指定 xyz...TMDB_Async.GetGenres
最后一位都是红色的。如果我删除 static
它也不能解决我的问题。所以我在这里做错了。
编辑:我想把它做成单例,添加代码:
private static TMDB_Async mInstance = null;
private TMDB_Async(){
mInstance = new TMDB_Async();
}
public static TMDB_Async getInstance() {
if (mInstance == null) {
Class clazz = TMDB_Async.class;
synchronized (clazz) {
mInstance = new TMDB_Async();
}
}
return mInstance;
}
但这其实也没有解决问题。
如何正确设置?
你内心的 类 GetGenres
和 GetMovies
需要 static
。
非static
内部类只能从父对象实例化。
我有一个class文件
TMDB_Async.java
public class TMDB_Async {
public class GetGenres extends CustomAsyncTask<Object, Void, String> {...}
public class GetMovies extends CustomAsyncTask<Object, Void, String[][]> {...}
}
注:正在执行中:
CustomAsyncTask.java
public abstract class CustomAsyncTask<T,T,T> extends AsyncTask<T,T,T> {...}
然后我想使用它.. 类似:
SomeActivity.java
new TMDB_Async.GetGenres(textView).execute(id);
但是 红色波浪形突出显示 告诉我 TMDB_Async
不是封闭的 class。它邀请我进行静态导入,它会自动将其生成为 xyz....TMDB_Async.*
,但这并不能解决问题。如果我指定 xyz...TMDB_Async.GetGenres
最后一位都是红色的。如果我删除 static
它也不能解决我的问题。所以我在这里做错了。
编辑:我想把它做成单例,添加代码:
private static TMDB_Async mInstance = null;
private TMDB_Async(){
mInstance = new TMDB_Async();
}
public static TMDB_Async getInstance() {
if (mInstance == null) {
Class clazz = TMDB_Async.class;
synchronized (clazz) {
mInstance = new TMDB_Async();
}
}
return mInstance;
}
但这其实也没有解决问题。
如何正确设置?
你内心的 类 GetGenres
和 GetMovies
需要 static
。
非static
内部类只能从父对象实例化。