Android 如何使用AsyncTask从类返回视图
我有一个扩展片段的类(如下所示)。现在我需要我的类在创建对象时将视图返回给另一个类。一切都很好,但我需要这个类在后台线程中做的东西。 我还使用了异步任务,但我无法使用异步任务返回视图。有人能帮忙吗 MapFragment.javaAndroid 如何使用AsyncTask从类返回视图,android,android-asynctask,android-fragments,android-view,Android,Android Asynctask,Android Fragments,Android View,我有一个扩展片段的类(如下所示)。现在我需要我的类在创建对象时将视图返回给另一个类。一切都很好,但我需要这个类在后台线程中做的东西。 我还使用了异步任务,但我无法使用异步任务返回视图。有人能帮忙吗 MapFragment.java public class MapsFragment extends Fragment { MapView map; LayoutInflater inflater_; ViewGroup container_; View layo
public class MapsFragment extends Fragment
{
MapView map;
LayoutInflater inflater_;
ViewGroup container_;
View layout;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
inflater_=inflater;
container_=container;
super.onCreate(savedInstanceState);
layout = inflater.inflate(R.layout.fragment_maps, container, false);
map = (MapView) layout.findViewById(R.id.mapView);
return (LinearLayout) layout;
}
}
我不清楚为什么要将视图传递给AsyncTask,但这是一种基本方法:
public class MyAsync extends AsyncTask<Void, Void, Void> {
private View view;
public MyAsync(View view) {
this.view = view;
}
@Override
protected Void doInBackground(Void... params) {
// Do something, but not with view
return null;
}
@Override
protected void onPostExecute(Void v) {
// You can alter view here or in the other methods with UI access
view.setVisibility(View.GONE);
}
}
公共类MyAsync扩展了AsyncTask{
私人视野;
公共MyAsync(视图){
this.view=视图;
}
@凌驾
受保护的Void doInBackground(Void…参数){
//做点什么,但不要带着观点
返回null;
}
@凌驾
受保护的void onPostExecute(void v){
//您可以在此处或使用UI访问的其他方法中更改视图
view.setVisibility(view.GONE);
}
}
如果这种方法不适用于您想做的事情,您也可以使用自己的回调。您的问题太模糊了。在哪里使用异步任务?您希望AsyncTask返回什么视图?发布您的AsyncTask以及您尝试执行的操作。我想在上述类(MapsFragment)中使用AsyncTask从public view onCreateView()方法重新获取视图。我正在使用该类在我的应用程序中返回mapview。基本上我使用选项卡,当单击其中一个选项卡时,该类被实例化以从TablListener接收mapview。见我的问题: