0

我有一个扩展 Fragment 的类(如下所示)。现在,当我创建对象时,我需要我的类将视图返回给 Other 类。一切正常,但我需要这个类在后台线程中做这些事情。我也使用了 ASYNC 任务,但我无法创建 ASYNC 任务来返回视图。任何人都可以帮忙吗??

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;  
    }
}
4

1 回答 1

2

我不具体知道为什么要将视图传递给 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);
    }
}

如果这种方法不适用于您想要做的事情,您也可以使用自己的回调。

于 2012-12-07T05:56:56.827 回答