Glisser vers le Fragment suivant en cliquant sur un bouton
Voici mon code:
FirstView.java
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;
public class FirstView extends Fragment
{
private TextView firstText;
private Button btn;
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
View view = inflater.inflate(R.layout.fragment_view1,container,false);
firstText = (TextView)view.findViewById(R.id.viewOneText);
btn = (Button)view.findViewById(R.id.viewOneBtn);
btn.setOnClickListener(new ButtonEvent());
return view;
}
private class ButtonEvent implements OnClickListener
{
@Override
public void onClick(View v) {
//TODO Auto-generated method stub
new SecondView();
}
}
}
SecondView.java
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;
public class SecondView extends Fragment
{
private TextView secondText;
private Button secondViewBtn;
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
View view = inflater.inflate(R.layout.fragment_view2,container,false);
secondText = (TextView)view.findViewById(R.id.secondViewText);
secondViewBtn = (Button)view.findViewById(R.id.secondViewBtn);
secondViewBtn.setOnClickListener(new ButtonEvent());
return view;
}
private class ButtonEvent implements OnClickListener
{
@Override
public void onClick(View v) {
//TODO Auto-generated method stub
secondText.setText("Second View Text changed");
}
}
}
MainActivity.java
import android.os.Bundle;
import android.app.Activity;
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.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.Menu;
public class MainActivity extends FragmentActivity {
private ViewPager viewPager;
private MyAdapter pageAdapter;
private static final int ITEMS = 2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
viewPager = (ViewPager)findViewById(R.id.pager);
pageAdapter = new MyAdapter(getSupportFragmentManager());
viewPager.setAdapter(pageAdapter);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
public static class MyAdapter extends FragmentPagerAdapter {
public MyAdapter(FragmentManager fragmentManager) {
super(fragmentManager);
}
@Override
public int getCount() {
return ITEMS;
}
@Override
public Fragment getItem(int position) {
if(position==0)
{
return new FirstView();
}
else
{
return new SecondView();
}
}
}
}
Dans le présent code, lorsque je clique sur le Button
dans FirstView, j'ai besoin de se déplacer à la SecondView. J'ai essayé avec Intents
mais suppose que c'est à tort. Actuellement, c'est d'avoir la fonction de Balayage en raison de la ViewPager
j'ai besoin de ce déplacer pour la SecondView lorsque le bouton est cliqué, avec la même balayez vers la fonctionnalité.
source d'informationauteur Yohan Weerasinghe
Vous devez vous connecter pour publier un commentaire.
Il suffit d'ajouter une nouvelle méthode qui se déplace fragments à votre activité:
et de l'appeler à partir d'un bouton de l'écouteur:
vous pouvez définir dans votre activité, les fonctions ci-dessous:
ensuite appeler à partir de votre mise en page:
et