Я использовал PagerSlidingTabStrip и должен быть фрагментами.Получить представление из фрагмента используя AsyncTask
В каждом фрагменте я использовал AsyncTask
для получения данных с сервера.
Ниже представлен мой класс фрагментов, который получает html с сервера и отображает listview.
public class MainFragmentSubList extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_main_list, container, false);
ListView mainList = (ListView) view.findViewById(R.id.fragment_list);
ArrayList<String> infoList;
// this is AsyncTask class and i made an interface.
new GetHtml(new OnRequestFinish(){
@Override
void onFinish(){
// Below are about ui
ArrayList<String> titleList = (ArrayList<String>) User.subName.clone();
int size = infoList.size();
MainListAdapter adapter = new MainListAdapter(titleList, infoList, size + 1);
mainList.setAdapter(adapter);
}
}).execute();
return view;
}
Поскольку AsyncTask делает вещи в фоновом режиме, return view;
не работает, как я ожидал.
Вот моя основная деятельность, в которой есть фрагменты.
public class MainActivity extends ActionBarActivity {
private Context context;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
pager = (ViewPager) findViewById(R.id.pager);
pager.setAdapter(new MyPagerAdapter(getSupportFragmentManager()));
PagerSlidingTabStrip tabs = (PagerSlidingTabStrip) findViewById(R.id.tabs);
tabs.setShouldExpand(true);
tabs.setViewPager(pager);
}
}
Как я могу вернуть вид из фрагмента с помощью AsyncTask?
Зачем нужно возвращать 'View' из AsyncTask? –
Я хочу вернуть 'view' в класс фрагмента. Я просто использовал AsyncTask, потому что мне нужно получить файлы с сервера. – soonoo
Есть ошибки? Или какой результат вы пытаетесь достичь? – Droidekas