Swiping zum nächsten Fragment mit einem Klick klicken

Bitte beachten Sie den folgenden 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(); } } } } 

In diesem Code, wenn ich auf den Button in FirstView klicke, muss ich zum SecondView wechseln. Ich habe versucht mit Intents aber vermute, es ist falsch Derzeit ist dies mit der Swipe-Funktion wegen der ViewPager , ich muss dies, um zum SecondView zu bewegen, wenn die Schaltfläche angeklickt wird, mit der gleichen Swipe-Funktionalität.

Wie kann ich das machen? Bitte helfen Sie.

Wie kann ich das machen?

  • Android Espresso: kann das Symbol nicht lösen AndroidJUnit4.class
  • Android: Was für die Anfragecode-Werte zu wählen?
  • Android Action Bar wie twitter Probe
  • Zugriff auf UI-Thread-Handler von einem Dienst
  • Espresso - Set SeekBar
  • Änderungen an der Hauptaktivitäts-Benutzeroberfläche von Thread im Service vornehmen
  • Ist es möglich, stickylistviewheader mit crisbanes pulltorefresh zu verschmelzen?
  • Wie kann man testen, ob eine Fragmentansicht für den Benutzer sichtbar ist?
  • 2 Solutions collect form web for “Swiping zum nächsten Fragment mit einem Klick klicken”

    Füge einfach eine neue Methode hinzu, die Fragmente zu deiner Aktivität verschiebt:

     public void setCurrentItem (int item, boolean smoothScroll) { viewPager.setCurrentItem(item, smoothScroll); } 

    Und ruf es von einem Knopf Hörer:

     ((MainActivity)getActivity()).setCurrentItem (1, true); 

    Sie können in Ihrer Tätigkeit die folgenden Funktionen definieren:

     public void next_fragment(View view) { viewPager.setCurrentItem(viewPager.getCurrentItem()+1); } public void previouse_fragment(View view) { viewPager.setCurrentItem(viewPager.getCurrentItem()+1); } 

    Dann ruf sie aus deinem Layout als:

     android:onClick="next_fragment" 

    und

     android:onClick="previouse_fragment" 
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.