On Jul 19, 10:07 am, "|-NK-|" <[email protected]> wrote: > On Jun 6, 11:42 pm,NikhilGupta<[email protected]> wrote: > > > > > > > Replace your getItem() with something like this : > > > public Fragment getItem(int index) { > > switch(index){ > > case 0: return new Frag1(); > > case 1: return new Frag2(); > > default : return null;} > > > } > > > where Frag1, Frag2 are the various fragment classes for each layout. > > > then in these fragment classes, inflate the respective layout, ex : > > > public View onCreateView(LayoutInflater inflater, ViewGroup container, > > Bundle savedInstanceState) { > > View V= (View) inflater.inflate(R.layout.frag1, container, false); > > return V; > > } > > > Hope it helps! > > > On Tuesday, April 17, 2012 1:15:23 AM UTC+5:30, Kibria Ali wrote: > > > > I am a beginner Android developer. I am trying to get my head around the > > > ViewPager. Before I was trying to work with this example: > > > >http://mobile.tutsplus.com/tutorials/android/android-user-interface-d... > > > > I had the views working, but could not get functionality working within > > > that, and I was told that I need to use Fragments within the ViewPager. > > > > I went with this tutorial instead: > > > >http://tamsler.blogspot.co.uk/2011/11/android-viewpager-and-fragments... > > > > I have got the basics of a ViewPager with a Fragment working: > > > > FragmentPagerActivity.java > > > > import android.os.Bundle; > > > import android.support.v4.app.Fragment; > > > import android.support.v4.app.FragmentActivity; > > > import android.support.v4.app.FragmentManager; > > > import android.support.v4.app.FragmentPagerAdapter; > > > import android.support.v4.view.ViewPager; > > > > public class FragmentPagerActivity extends FragmentActivity { > > > > private static final int NUMBER_OF_PAGES = 10; > > > > private ViewPager mViewPager; > > > private MyFragmentPagerAdapter mMyFragmentPagerAdapter; > > > > public void onCreate(Bundle savedInstanceState) { > > > > super.onCreate(savedInstanceState); > > > setContentView(R.layout.main); > > > mViewPager = (ViewPager) findViewById(R.id.viewpager); > > > mMyFragmentPagerAdapter = new > > > MyFragmentPagerAdapter(getSupportFragmentManager()); > > > mViewPager.setAdapter(mMyFragmentPagerAdapter); > > > } > > > > private static class MyFragmentPagerAdapter extends > > > FragmentPagerAdapter { > > > > public MyFragmentPagerAdapter(FragmentManager fm) { > > > super(fm); > > > } > > > > @Override > > > public Fragment getItem(int index) { > > > > return PageFragment.newInstance("My Message " + index); > > > } > > > > @Override > > > public int getCount() { > > > > return NUMBER_OF_PAGES; > > > } > > > } > > > } > > > > PageFragment.java: > > > > import android.os.Bundle; > > > import android.support.v4.app.Fragment; > > > import android.view.LayoutInflater; > > > import android.view.View; > > > import android.view.ViewGroup; > > > import android.widget.TextView; > > > > public class PageFragment extends Fragment { > > > > public static PageFragment newInstance(String title) { > > > > PageFragment pageFragment = new PageFragment(); > > > Bundle bundle = new Bundle(); > > > bundle.putString("title", title); > > > pageFragment.setArguments(bundle); > > > return pageFragment; > > > } > > > > @Override > > > public void onCreate(Bundle savedInstanceState) { > > > super.onCreate(savedInstanceState); > > > } > > > > @Override > > > public View onCreateView(LayoutInflater inflater, ViewGroup > > > container, Bundle savedInstanceState) { > > > > View view = inflater.inflate(R.layout.fragment, container, > > > false); > > > TextView textView = (TextView) > > > view.findViewById(R.id.textView1); > > > textView.setText(getArguments().getString("title")); > > > return view; > > > } > > > } > > > > main.xml: > > > > <?xml version="1.0" encoding="utf-8"?> > > > <LinearLayout xmlns:android=" > > >http://schemas.android.com/apk/res/android" > > > android:layout_width="fill_parent" > > > android:layout_height="fill_parent" > > > android:orientation="vertical" > > > > <android.support.v4.view.ViewPager > > > android:id="@+id/viewpager" > > > android:layout_width="fill_parent" > > > android:layout_height="fill_parent" /> > > > > </LinearLayout> > > > > fragment.xml: > > > > <?xml version="1.0" encoding="utf-8"?> > > > <LinearLayout xmlns:android=" > > >http://schemas.android.com/apk/res/android" > > > android:layout_width="match_parent" > > > android:layout_height="match_parent" > > > android:orientation="vertical" > > > > > <TextView > > > android:id="@+id/textView1" > > > android:layout_width="wrap_content" > > > android:layout_height="wrap_content" > > > android:text="TextView" /> > > > > </LinearLayout> > > > > I want to be able to replace the current layout within the ViewPager with > > > 7 of my own layouts that already exist and add functionality to the > > > layouts > > > using Fragments. What can I do with the code that I already have and the > > > changes to make to get this properly working? > > > > If there are any examples of a ViewPager with Fragments available online > > > as well rather than just going briefly over it like the do in the Adroid > > > Developers blog, I will be very grateful.- Hide quoted text - > > > - Show quoted text - > > DearNikhil, > > I am facing the same problem, where I need to create 3 fragments with > different controls on them. > > I created 3 classes for respective fragments, however I am not able to > return the Fragment object from the getItem method() > > What I did in the getItem method is just used switch case and created > new objects and returned them (As suggested by you in the above > answer.) > > However its giving me an error that cannot convert from > MyFragmentClass1 to Fragment. > (MyFragmentClass1 is Fragment class which represents 1st fragment that > I need to show.) > > Please suggest if I have done anything wrong. > > Thanks,- Hide quoted text - > > - Show quoted text -
HI My problem is solved. Thanks. -- 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

