Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.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 如何使用AsyncTask从类返回视图_Android_Android Asynctask_Android Fragments_Android View - Fatal编程技术网

Android 如何使用AsyncTask从类返回视图

Android 如何使用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

我有一个扩展片段的类(如下所示)。现在我需要我的类在创建对象时将视图返回给另一个类。一切都很好,但我需要这个类在后台线程中做的东西。 我还使用了异步任务,但我无法使用异步任务返回视图。有人能帮忙吗

MapFragment.java

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。见我的问题: