In my application i am using navigation drawer.In one fragment of drawer i have one page viewer with 3 child's.In the initial working viewpager works perfectly.But when i reload the pageviewer it gives below screen.
In initial run i got,
The following are the codes i used
public class HomeFragment extends Fragment {
MyAdapter mAdapter;
Context mContext;
ViewPager mViewPager;
AuthorFragment galleryActivity;
Button author,mostRead,a2Z;
int Width;
public HomeFragment(){}
public HomeFragment(Context c)
{
this.mContext=c;
mViewPager = (ViewPager)((Activity) c).findViewById(R.id.pager);
author = (Button)((Activity) c).findViewById(R.id.author_id);
mostRead = (Button)((Activity) c).findViewById(R.id.most_read_id);
a2Z = (Button)((Activity) c).findViewById(R.id.az_id);
}
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_find_people, container, false);
mAdapter = new MyAdapter(getFragmentManager(), galleryActivity);
mViewPager = (ViewPager)rootView. findViewById(R.id.pager);
author = (Button)rootView.findViewById(R.id.author_id);
mostRead = (Button)rootView.findViewById(R.id.most_read_id);
a2Z = (Button)rootView.findViewById(R.id.az_id);
mViewPager.setAdapter(mAdapter);
click(a2Z,2);
click(mostRead,1);
click(author,0);
WindowManager wm = (WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE);
Width = wm.getDefaultDisplay().getWidth();
author.setLayoutParams(new LinearLayout.LayoutParams(Width/3,Width/9));
mostRead.setLayoutParams(new LinearLayout.LayoutParams(Width/3,Width/9));
a2Z.setLayoutParams(new LinearLayout.LayoutParams(Width/3,Width/9));
mViewPager.setOnPageChangeListener(new OnPageChangeListener() {
@Override
public void onPageSelected(int arg0) {
// TODO Auto-generated method stub
if(arg0 == 0){
author.setBackgroundResource(R.drawable.pagetitle);
mostRead.setBackgroundResource(R.drawable.page_strip_selector);
a2Z.setBackgroundResource(R.drawable.page_strip_selector);
}
else if (arg0 == 1) {
author.setBackgroundResource(R.drawable.page_strip_selector);
mostRead.setBackgroundResource(R.drawable.pagetitle);
a2Z.setBackgroundResource(R.drawable.page_strip_selector);
}
else {
author.setBackgroundResource(R.drawable.page_strip_selector);
mostRead.setBackgroundResource(R.drawable.page_strip_selector);
a2Z.setBackgroundResource(R.drawable.pagetitle);
}
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub
}
@Override
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub
}
});
return rootView;
}
public class MyAdapter extends FragmentPagerAdapter {
AuthorFragment gallery;
public MyAdapter(FragmentManager fm) {
super(fm);
}
public MyAdapter(FragmentManager fm, AuthorFragment gallery) {
this(fm);
this.gallery = gallery;
}
@Override
public int getCount() {
return 3;
}
@Override
public Fragment getItem(int position) {
switch (position) {
case 0:
return new MostReadFragment(mContext);
case 1:
return new MostReadFragment(mContext);
case 2:
return new A2ZFragment(mContext);
default:
return null;
}
}
}
}
The content of pageViewer is a gridview
public class AuthorFragment extends Fragment {
BookListAdapter adapter;
GridView bookGrid;
Context mContext;
ArrayList<Book> bookList=new ArrayList<Book>();
BookListParser ListParser=new BookListParser();
HttpResponse responsePOST = null;
int statusCode;
String data,fileName;
ImageView downloadImg,shareImg;
TransparentProgressDialog pd;
ProgressDialog mProgressDialog;
private View previousItem;
public AuthorFragment(){}
public AuthorFragment(Context c)
{
this.mContext=c;
bookGrid = (GridView)((Activity) c).findViewById(R.id.grid_view);
if(bookList!= null)
bookList.clear();
}
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
if(bookList!= null)
bookList.clear();
View rootView = inflater.inflate(R.layout.fragment_shelf, container, false);
mContext = rootView.getContext();
bookGrid=(GridView)rootView. findViewById(R.id.grid_view);
pd = new TransparentProgressDialog(mContext, R.drawable.progress);
pd.setCancelable(true);
pd.show();
// instantiate it within the onCreate method
mProgressDialog = new ProgressDialog(mContext);
mProgressDialog.setMessage("Downloading book");
mProgressDialog.setIndeterminate(true);
mProgressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
mProgressDialog.setCancelable(true);
bookGrid.setOnItemLongClickListener(new OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view,
final int position, long id) {
if (previousItem != null) {
downloadImg=(ImageView) previousItem.findViewById(R.id.download);
shareImg=(ImageView) previousItem.findViewById(R.id.share);
downloadImg.setVisibility(View.GONE);
shareImg.setVisibility(View.GONE);
}
downloadImg=(ImageView) view.findViewById(R.id.download);
shareImg=(ImageView) view.findViewById(R.id.share);
downloadImg.setVisibility(View.VISIBLE);
shareImg.setVisibility(View.VISIBLE);
previousItem = view;
downloadImg.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String extStorageDirectory = Environment.getExternalStorageDirectory()
.toString();
File folder = new File(extStorageDirectory, "Ebook");
folder.mkdir();
File folder1 = new File(folder, "books");
folder1.mkdir();
//File file = new File(folder1, bookList.get(position).bookConvertedFileName);
// DownloadFile(bookList.get(position).bookUrl, file);;
fileName = bookList.get(position).bookConvertedFileName;
// execute this when the downloader must be fired
final DownloadTask downloadTask = new DownloadTask(mContext);
downloadTask.execute(bookList.get(position).bookUrl);
}
});
return false;
}
});
bookGrid.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
String userToken;
AppUtils utils = new AppUtils(mContext);
userToken = utils.getToken();
if( userToken!= null && userToken!= "" ) {
if( check(bookList.get(position).bookConvertedFileName)==true)
{
Intent i =new Intent (mContext,DetailedView.class);
Bundle b1 = new Bundle();
b1.putString("name",bookList.get(position).bookConvertedFileName);
i.putExtras(b1);
startActivity(i);
}
else
{
showDialog("Give long press for downloading and share option");
}
}
else {
showDialog("Please login first");
}
}
});
bookThread bThread =new bookThread();
bThread.start();
return rootView;
}
Please help me to find out the problem. Thanks in advance