Нет данных в ListView который внутри ListFramgent
У меня есть 2 Фрагмента типа ListFragment , они внутри TabLayout -а.
private TabAdapter adapter;
private TabLayout tabLayout;
Проблема на втором фрагменте, я беру данные из сервера с помощью AsyncTask.
По завершению загрузки добавляю данные в List и в методе PostExecute инициализирую ArrayAdapter и передаю его в ListView,данные есть но ListView не появляется на экране.
Вот мой ListFragment
public class Tab2Fragment extends ListFragment {
Conf conf = new Conf();
ArrayList<String> myData = new ArrayList<String>();
ArrayList<String> imgUrl = new ArrayList<String>();
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_content_2,container, false);
return v;
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
new GetDataAsyncTask().execute();
}
Сам AsyncTask
class GetDataAsyncTaskextends AsyncTask<Void, Void, Void> {
private ProgressDialog dialog;
public void GetDataAsyncTask(){
}
@Override
protected void onPreExecute() {
dialog = new ProgressDialog(getActivity());
dialog.setMessage("загрузка...");
dialog.setCancelable(false);
dialog.show();
}
@Override
protected Void doInBackground(Void... voids) {
//запрос на сервер****
//заполняю List imgUrl;
return null;
}
@Override
protected void onPostExecute(Void aVoid) {
if (dialog.isShowing()) {
dialog.dismiss();
}
MyAdapter myListAdapter = new MyAdapter(getActivity(),R.layout.d_layout_item,imgUrl);
getListView().setAdapter(myListAdapter);
}
и мой ArrayAdapter
public class MyAdapter extends ArrayAdapter<String> {
private Context mContext;
private List list;
public MyAdapter(Context context, int textViewResourceId,List list) {
super(context, textViewResourceId);
mContext = context;
this.list = list;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) mContext
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View row = inflater.inflate(R.layout.d_layout_item, parent,
false);
TextView catNameTextView = (TextView) row.findViewById(R.id.depfio);
TextView za = (TextView) row.findViewById(R.id.dep_za);
TextView protiv = (TextView) row.findViewById(R.id.dep_protiv);
ImageView img = (ImageView) row.findViewById(R.id.deImg);
catNameTextView.setText(list.get(position)+"");
Picasso.with(mContext).load(R.mipmap.pet_icon).into(img);
return row;
}
}
в MainActivity я делаю так
adapter = new TabAdapter(getSupportFragmentManager());
adapter.addFragment(new Tab1Fragment(), "1-й Таб");//Выводятся(показываются) данные только в этом фрагменте
adapter.addFragment(new Tab2Fragment(), "2-й Таб");//вот этот пустой
adapter.addFragment(new Tab3Fragment(), "3-й Таб");//эту еще не пробовал заполнять и показывать
Помогите пожалуйста если кто то раньше делал несколько фрагментов с ListView,застрял на этом моменте.Показать ListView на всех фрагментах