Click here to Skip to main content
15,879,535 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
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> android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/fragmentLayout"
android:orientation="horizontal">
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">


...

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">



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;
} }
Posted
Comments
Richard MacCutchan 20-Dec-15 3:36am    
So what is the question?
Member 12217706 20-Dec-15 4:39am    
What is wrong with my code? Where is my mistake, because ti doesn't work
Richard MacCutchan 20-Dec-15 8:20am    
How can we know what is wrong with your code? Collect some proper details and debug information, explain exactly what is or is not happening, and show where the error occurs.
ridoy 20-Dec-15 3:57am    
Basically your question isn't clear enoung to answer.
Member 12217706 20-Dec-15 4:39am    
What is wrong with my code? Where is my mistake, because ti doesn't work

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900