Idea is when user cliks on one of three pictures, in fragment should be
shown viewpager, every picture have her own viewpager. Pictures and
fragment(viewpagers) should be in one activity. I true every solution I
found on internet but nothing helps me. I would be thankful if someone
could helps me
This is how my code looks like:
public class MainActivity extends FragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_layout);
ImageView mercedes=(ImageView) findViewById(R.id.imageView);
ImageView bmw=(ImageView) findViewById(R.id.imageView2);
ImageView ford=(ImageView) findViewById(R.id.imageView3);
mercedes.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Fragment mf=new MercedesFragment();
FragmentManager fragmentManager=getSupportFragmentManager();
fragmentManager.beginTransaction().replace(R.id.fragmentLayout,
mf).commit();
}
});
bmw.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Fragment bf=new BMWFragment();
FragmentManager fragmentManager=getSupportFragmentManager();
fragmentManager.beginTransaction().replace(R.id.fragmentLayout,
bf).commit();
}
});
ford.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Fragment ff=new FordFragment();
FragmentManager fragmentManager=getSupportFragmentManager();
fragmentManager.beginTransaction().replace(R.id.fragmentLayout,ff).commit();
}
});}
}
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:id="@+id/main">
<ImageView
android:layout_width="100dp"
android:layout_height="120dp"
android:src="@drawable/mercedes_logo"
android:id="@+id/imageView" />
<ImageView
android:layout_width="100dp"
android:layout_height="120dp"
android:src="@drawable/bmw_logo_jpeg"
android:id="@+id/imageView2" />
<ImageView
android:layout_width="100dp"
android:layout_height="120dp"
android:src="@drawable/ford_logo"
android:id="@+id/imageView3" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/fragmentLayout"
android:orientation="horizontal">
</LinearLayout>
</LinearLayout>
public class MercedesFragment extends Fragment {
public static final String MERCEDES_ARGS="mer_args";
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View
view=inflater.inflate(R.layout.mercedes_layout,container,false);
ViewPager mvp=(ViewPager) view.findViewById(R.id.mercedes);
mvp.setAdapter(adapterMercedes());
return view;
}
public PagerAdapter adapterMercedes(){
return (new AdapterMercedes(getChildFragmentManager()));
} }
...
public class AdapterMercedes extends FragmentPagerAdapter {
public AdapterMercedes(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
MercedesFragment mercFrag=new MercedesFragment();
Bundle mercArgs=new Bundle();
switch (position){
case 0:
mercArgs.putInt(MercedesFragment.MERCEDES_ARGS,R.drawable.merdza1);
break;
case 1:
mercArgs.putInt(MercedesFragment.MERCEDES_ARGS,R.drawable.merdza2);
break;
case 2:
mercArgs.putInt(MercedesFragment.MERCEDES_ARGS,
R.drawable.merdza3);
break;
}
mercFrag.setArguments(mercArgs);
return mercFrag;
}
@Override
public int getCount() {
return 3;
} }
..
<android.support.v4.view.ViewPager
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/mercedes">
</android.support.v4.view.ViewPager>
...
public class BMWFragment extends Fragment {
public static final String BMW_ARGS="bmw_args";
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view=inflater.inflate(R.layout.bmw_layout,null);
ViewPager bvp=(ViewPager) view.findViewById(R.id.bmw);
bvp.setAdapter(adapterBMW());
return view;
}
public PagerAdapter adapterBMW(){
return (new AdapterBMW(getChildFragmentManager()));
} }
...
public class AdapterBMW extends FragmentPagerAdapter {
public AdapterBMW(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
BMWFragment BMWFrag=new BMWFragment();
Bundle BMWArgs=new Bundle();
switch (position){
case 0:
BMWArgs.putInt(BMWFragment.BMW_ARGS,R.drawable.bmw1);
break;
case 1:
BMWArgs.putInt(BMWFragment.BMW_ARGS,R.drawable.bmw2);
break;
case 2:
BMWArgs.putInt(BMWFragment.BMW_ARGS, R.drawable.bmw3);
break;
}
BMWFrag.setArguments(BMWArgs);
return BMWFrag;
}
@Override
public int getCount() {
return 3;
}
}
...
<android.support.v4.view.ViewPager
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/bmw">
</android.support.v4.view.ViewPager>
public class FordFragment extends Fragment {
public static final String FORD_ARGS="ford_args";
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view=inflater.inflate(R.layout.ford_layout,null);
ViewPager fvp=(ViewPager) view.findViewById(R.id.ford);
fvp.setAdapter(adapterFord());
return view;
}
public PagerAdapter adapterFord(){
return (new AdapterFord(getChildFragmentManager()));
} }
.
public class AdapterFord extends FragmentPagerAdapter {
public AdapterFord(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
FordFragment FordFrag=new FordFragment();
Bundle FordArgs=new Bundle();
switch (position){
case 0:
FordArgs.putInt(FordFragment.FORD_ARGS,R.drawable.ford1);
break;
case 1:
FordArgs.putInt(FordFragment.FORD_ARGS,R.drawable.ford2);
break;
case 2:
FordArgs.putInt(FordFragment.FORD_ARGS, R.drawable.ford3);
break;
}
FordFrag.setArguments(FordArgs);
return FordFrag;
}
@Override
public int getCount() {
return 3;
} }
--
You received this message because you are subscribed to the Google Groups
"Android Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/android-developers.
To view this discussion on the web visit
https://groups.google.com/d/msgid/android-developers/833f8599-b1e7-412f-9688-21afb7d51879%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.