0

我有一個擴展Fragment的類(如下所示)。現在當我創建一個對象時,我需要我的類將視圖返回給其他類。一切工作正常,但我需要這個類來做後臺線程中的東西。 我也使用ASYNC任務,但我無法做一個ASYNC任務來返回一個視圖。任何人都可以幫忙。如何使用AsyncTask從類返回視圖

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; 
    } 
} 
+0

你的問題太含糊。你在哪裏使用AsyncTask?您希望AsyncTask返回哪個視圖?發佈您的AsyncTask以及您試圖執行的操作。 – Sam

+0

我想在上面的類(MapsFragment)中使用異步任務來從公共視圖onCreateView()方法返回視圖。 –

回答

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

你也可以用你的自己的回調應該不適用於你想要做的事情。

+0

我正在使用此類在我的應用程序中返回mapview。基本上我使用標籤,當其中一個選項卡被點擊時,這個類被實例化以接收來自tablistener的mapview。看到我的問題:http://stackoverflow.com/questions/13741294/how-to-build-an-app-with-actionbar-tab-support-and-mapview –