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-design-horizontal-view-paging/
>
> 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-part-ii.html
>
> 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.
>
--
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