Android fragment activity change content after change page -
i have fragment activity have view pager, want every changing page content change programmatically. `
package com.idroid.splashscreen; 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.fragmentstatepageradapter; import android.support.v4.view.pageradapter; import android.support.v4.view.viewpager; import android.support.v4.view.viewpager.onpagechangelistener; import android.widget.textview; import android.widget.toast; public class screenslidepageractivity extends fragmentactivity { private static final int num_pages = 5; private viewpager mpager; private pageradapter mpageradapter; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_screen_slide); mpager = (viewpager) findviewbyid(r.id.pager); mpageradapter = new screenslidepageradapter(getsupportfragmentmanager()); mpager.setadapter(mpageradapter); onpagechangelistener pagechangelistener=null; pagechangelistener = new onpagechangelistener() { @override public void onpagescrollstatechanged(int arg0) { } @override public void onpagescrolled(int arg0, float arg1, int arg2) { } @override public void onpageselected(int position) { toast.maketext(getapplicationcontext() .getapplicationcontext(), "page "+position, toast.length_long).show(); textview txt=(textview) findviewbyid(r.id.txtcoba); txt.settext("page "+position); } }; mpager.setonpagechangelistener(pagechangelistener); } @override public void onbackpressed() { if (mpager.getcurrentitem() == 0) { super.onbackpressed(); } else { mpager.setcurrentitem(mpager.getcurrentitem() - 1); } } private class screenslidepageradapter extends fragmentstatepageradapter { public screenslidepageradapter(fragmentmanager fm) { super(fm); } @override public fragment getitem(int position) { return new screenslidepagefragment(); } @override public int getcount() { return num_pages; } } }
`
<?xml version="1.0" encoding="utf-8"?> <scrollview xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/content" android:layout_width="match_parent" android:layout_height="match_parent" > <textview android:id="@+id/txtcoba" style="?android:textappearancemedium" android:padding="16dp" android:linespacingmultiplier="1.2" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="coba" /> </scrollview>
i change on page selected method , change content of text view. toast it's work text doesn't change. on page 4 when page 3, page 3 show page. other page not.
what should ? before. screenslidepagefragment class
package com.idroid.splashscreen;
import android.os.bundle; import android.support.v4.app.fragment; import android.view.layoutinflater; import android.view.view; import android.view.viewgroup; public class screenslidepagefragment extends fragment { @override public view oncreateview(layoutinflater inflater, viewgroup container, bundle savedinstancestate) { viewgroup rootview = (viewgroup) inflater.inflate( r.layout.fragment_screen_slide_page, container, false); return rootview; } }
this fragment_screen_slide_page.xml
<?xml version="1.0" encoding="utf-8"?> <scrollview xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/content" android:layout_width="match_parent" android:layout_height="match_parent" > <textview android:id="@+id/txtcoba" style="?android:textappearancemedium" android:padding="16dp" android:linespacingmultiplier="1.2" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="coba" /> </scrollview>
this activity_screen_slide.xml
<?xml version="1.0" encoding="utf-8"?> <android.support.v4.view.viewpager xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/pager" android:layout_width="match_parent" android:layout_height="match_parent" />
issue trying set textview
of fragment
layout. per code textview
in screenslidepagefragment
layout.
remove 'textview' settext in onpageeselcted
change screenslidepagefragment
this
private class screenslidepagefragment extends fragment { @override public view oncreateview(layoutinflater inflater, viewgroup container, bundle savedinstancestate) { // inflate layout fragment view row = inflater.inflate(r.layout.activity_screen_slide, container, false); textview txt=(textview) row.findviewbyid(r.id.txtcoba); txt.settext("page using fragment"); return row; } }
Comments
Post a Comment