Ummm... if you look at the documentation for the deprecated method it tells
you what to do...

Thanks,
Justin Anderson
MagouyaWare Developer
http://sites.google.com/site/magouyaware


On Thu, Oct 18, 2012 at 9:27 AM, Giosia Gentile <[email protected]> wrote:

> Ok but
> onRetainNonConfigurationInstance()
> is deprecated! What I must use insted of it??
>
> On Oct 18, 12:51 pm, Piren <[email protected]> wrote:
> > Orientation change will be harder to handle... see this for help:
> http://developer.android.com/guide/topics/resources/runtime-changes.html
> >
> >
> >
> >
> >
> >
> >
> > On Thursday, October 18, 2012 12:40:49 PM UTC+2, Giosia Gentile wrote:
> >
> > > Thank you I will try it this evening!!
> > > Please can you help me also with the screen orientation??? I used the
> > > setRetainIstance(true) but it donìt work!!
> >
> > > On Thursday, October 18, 2012 10:08:08 AM UTC+2, Piren wrote:
> >
> > >>
> http://developer.android.com/reference/android/support/v4/view/ViewPa...)
> >
> > >> just set it to 2
> >
> > >> On Wednesday, October 17, 2012 7:30:54 PM UTC+2, Giosia Gentile wrote:
> >
> > >>> it is one week I try to solve this problem whitout success. Please
> > >>> help me.
> >
> > >>> I use the tabs navigation with viewpager. This is the class where I
> > >>> put the tabs and the FragmentPagerAdapter class:
> > >>> public class Detail extends SherlockFragmentActivity {
> >
> > >>>     ViewPager  mViewPager;
> >
> > >>>     TabsAdapter mTabsAdapter;
> >
> > >>>     @Override
> > >>>     public void onCreate(Bundle savedInstanceState) {
> >
> > >>>         super.onCreate(savedInstanceState);
> >
> > >>>         setContentView(R.layout.activity_main);
> >
> > >>>      ...
> >
> > >>>      ActionBar bar = getSupportActionBar();
> > >>>      bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
> > >>>      bar.setDisplayOptions(0, ActionBar.DISPLAY_SHOW_TITLE);
> >
> > >>>      mViewPager = (ViewPager)findViewById(R.id.pager);
> >
> > >>>      // Add the tabs
> > >>>      mTabsAdapter = new TabsAdapter(this, bar, mViewPager);
> > >>>      mTabsAdapter.addTab(bar.newTab().setText(R.string.filmtab),
> > >>>              FragmentFilm.class, null);
> > >>>      mTabsAdapter.addTab(bar.newTab().setText(R.string.cinematab),
> > >>>              FragmentCinema.class, null);
> > >>>      mTabsAdapter.addTab(bar.newTab().setText(R.string.dintornitab),
> > >>>              FragmentPdi.class, null);
> >
> > >>>      if (savedInstanceState != null) {
> >
> > >>> bar.setSelectedNavigationItem(savedInstanceState.getInt("tab"));
> > >>>      }
> >
> > >>>     }
> >
> > >>>      @Override
> > >>>         protected void onSaveInstanceState(Bundle outState) {
> > >>>             super.onSaveInstanceState(outState);
> > >>>             outState.putInt("tab",
> > >>> getSupportActionBar().getSelectedNavigationIndex());
> > >>>         }
> >
> > >>>      public static class TabsAdapter extends FragmentPagerAdapter
> > >>>      implements ViewPager.OnPageChangeListener, ActionBar.TabListener
> > >>> {
> > >>>          private final Context mContext;
> > >>>          private final ActionBar mBar;
> > >>>          private final ViewPager mViewPager;
> > >>>          private final ArrayList<TabInfo> mTabs = new
> > >>> ArrayList<TabInfo>();
> >
> > >>>          static final class TabInfo {
> > >>>              private final Class<?> clss;
> > >>>              private final Bundle args;
> >
> > >>>              TabInfo(Class<?> _class, Bundle _args) {
> > >>>                  clss = _class;
> > >>>                  args = _args;
> > >>>              }
> > >>>          }
> >
> > >>>          public TabsAdapter(Detail activity, ActionBar bar, ViewPager
> > >>> pager) {
> > >>>              super(activity.getSupportFragmentManager());
> > >>>              mContext = activity;
> > >>>              mBar = bar;
> > >>>              mViewPager = pager;
> > >>>              mViewPager.setAdapter(this);
> > >>>              mViewPager.setOnPageChangeListener(this);
> > >>>          }
> >
> > >>>          public void addTab(ActionBar.Tab tab, Class<? extends
> > >>> Fragment> clss, Bundle args) {
> > >>>              TabInfo info = new TabInfo(clss, args);
> > >>>              tab.setTag(info);
> > >>>              tab.setTabListener(this);
> > >>>              mTabs.add(info);
> > >>>              mBar.addTab(tab);
> > >>>              notifyDataSetChanged();
> > >>>          }
> >
> > >>>          @Override
> > >>>          public int getCount() {
> > >>>              return mTabs.size();
> > >>>          }
> >
> > >>>          @Override
> > >>>          public Fragment getItem(int position) {
> > >>>              TabInfo info = mTabs.get(position);
> > >>>              return Fragment.instantiate(mContext,
> > >>> info.clss.getName(), info.args);
> > >>>          }
> >
> > >>>          @Override
> > >>>          public void onPageScrolled(int position, float
> > >>> positionOffset, int positionOffsetPixels) {
> > >>>          }
> >
> > >>>          @Override
> > >>>          public void onPageSelected(int position) {
> > >>>              mBar.setSelectedNavigationItem(position);
> > >>>          }
> >
> > >>>          @Override
> > >>>          public void onPageScrollStateChanged(int state) {
> > >>>          }
> >
> > >>>          @Override
> > >>>          public void onTabSelected(Tab tab, FragmentTransaction ft) {
> > >>>              Object tag = tab.getTag();
> > >>>              for (int i=0; i<mTabs.size(); i++) {
> > >>>                  if (mTabs.get(i) == tag) {
> > >>>                      mViewPager.setCurrentItem(i);
> > >>>                  }
> > >>>              }
> > >>>          }
> >
> > >>>          @Override
> > >>>          public void onTabUnselected(Tab tab, FragmentTransaction ft)
> > >>> {
> >
> > >>>          }
> >
> > >>>          @Override
> > >>>          public void onTabReselected(Tab tab, FragmentTransaction ft)
> > >>> {
> >
> > >>>          }
> > >>>      }
> > >>> }
> >
> > >>> The 3 fragment classes are all the same I copy here just one; In the
> > >>> fragment class I use async task for download the data I need to put
> in
> > >>> the view, I do this in the onActivityCreated method:
> >
> > >>> public class FragmentFilm extends SherlockFragment
> > >>> {
> >
> > >>>     private Detail act;
> >
> > >>>     private DetailedRec detail_film;
> > >>>     private View view;
> > >>>     private String a;
> >
> > >>>     @Override
> > >>>     public View onCreateView(LayoutInflater inflater, ViewGroup
> > >>> container,
> > >>>             Bundle savedInstanceState)
> > >>>     {
> >
> > >>>         setRetainInstance(true);
> > >>>         view = inflater.inflate(R.layout.tab_film_info, container,
> > >>> false);
> >
> > >>>         return view;
> > >>>     }
> >
> > >>>     /*
> > >>>     @Override
> > >>>     public void onSaveInstanceState(Bundle outState) {
> > >>>         super.onSaveInstanceState(outState);
> >
> > >>>     }*/
> >
> > >>>     @Override
> > >>>     public void onCreate(Bundle savedInstanceState) {
> > >>>         super.onCreate(savedInstanceState);
> >
> > >>>         act =  (Detail) getActivity();
> >
> > >>>     }
> >
> > >>>     @Override
> > >>>     public void onActivityCreated(Bundle savedInstanceState) {
> > >>>         super.onActivityCreated(savedInstanceState);
> > >>>         new DownloadFilmDetailAsyncTask().execute();
> >
> > >>>     }
> >
> > >>>     private class DownloadFilmDetailAsyncTask extends AsyncTask<Void,
> > >>> DetailedRec, Void>
> > >>>     {
> >
> > >>>         @Override
> > >>>         protected void onPreExecute() {
> >
> > >>>             super.onPreExecute();
> >
> > >>>         }
> >
> > >>>         @Override
> > >>>         protected void onPostExecute(Void result) {
> >
> > >>>             super.onPostExecute(result);
> >
> > >>>             ProgressBar prBar =
> > >>> (ProgressBar)getView().findViewById(R.id.progressbar_film);
> > >>>             prBar.setVisibility(View.GONE);
> > >>>             ScrollView lay =
> > >>> (ScrollView)getView().findViewById(R.id.tab_filmsummary);
> > >>>             lay.setVisibility(View.VISIBLE);
> >
> > >>>         }
> >
> > >>>         @Override
> > >>>         protected Void doInBackground(Void... params)
> > >>>         {
> > >>>             try
> > >>>             {
> >
> > >>>                 String locale =
> > >>> getResources().getConfiguration().locale.getDisplayName();
> >
> > >>>                 JSONObject objSend = new JSONObject();
> > >>>                 objSend.put("idFilm", act.getIdFilm());
> > >>>                 objSend.put("cinemaId",act.getIdCinema());
> > >>>                 int ind = locale.indexOf("(");
> > >>>                 String locale_send = locale.substring(0, ind-1);
> > >>>                 objSend.put("locale", locale_send);
> > >>>                 ArrayList<String> otherCin = new
> > >>> ArrayList<String>(Arrays.asList(act.getOtherCinemas()));
> > >>>                 JSONArray othCin = new JSONArray(otherCin);
> > >>>                 objSend.put("otherCinemas", othCin );
> > >>>                 JSONObject jsonObject =
> > >>>
> sendAndGetJSONObject(JSON_SERVER+"JsonServer?op=getFilmbyId",objSend);
> >
> > >>>                 DetailedRec detail_rec = new DetailedRec();
> > >>>                 //FILM
> > >>>                 detail_rec.setFilmId(jsonObject.getString("filmId"));
> > >>>                 detail_rec.setName(jsonObject.getString("name"));
> >
> > >>>
> detail_rec.setImageUrl(jsonObject.getString("imageUrl").replace("640",
> > >>> "80"));
> > >>>                 detail_rec.setActors(jsonObject.getString("actors"));
> > >>>                 detail_rec.setGenre(jsonObject.getString("genre"));
> >
> > >>> detail_rec.setDirector(jsonObject.getString("director"));
> > >>>                 detail_rec.setPlot(jsonObject.getString("plot"));
> > >>>                 detail_rec.setYear(jsonObject.getString("year"));
> >
> > >>> detail_rec.setDuration(jsonObject.getString("duration"));
> >
> > >>> detail_rec.setTrailer(jsonObject.getString("trailer"));
> > >>>                 detail_rec.setRating(jsonObject.getString("rating"));
> >
> > >>>                 detail_film = detail_rec;
> > >>>                 publishProgress(detail_rec);
> >
> > >>>             }
> > >>>             catch (IOException ignored)
> > >>>             {
> > >>>             }
> > >>>             catch (JSONException ignored)
> > >>>             {
> > >>>             }
> > >>>             return null;
> > >>>         }
> >
> > >>>         @Override
> > >>>         protected void onProgressUpdate(DetailedRec...
> >
> > ...
> >
> > read more »
>
> --
> You received this message because you are subscribed to the Google
> Groups "Android Developers" group.
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group at
> http://groups.google.com/group/android-developers?hl=en
>

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to