Eclipse Android: Different pages in one activity? -
i wanted have 80 pages in app, following code. can go 1 page next on 2 buttons. because don't want create 80 activities, have connect 80 pages in 1 activity. how work?
package com.example.xxx; import android.app.activity; import android.content.intent; import android.os.bundle; import android.view.view; public class pictureone extends activity { @override protected void oncreate(bundle savedinstancestate) { // todo auto-generated method stub super.oncreate(savedinstancestate); setcontentview(r.layout.pictureone);} public void picture0 (view view){ intent = new intent(this, pagezero.class); startactivity(i);}} public void picture2 (view view){ intent = new intent(this, pagetwo.class); startactivity(i);}} xml:
<?xml version="1.0" encoding="utf-8"?> <relativelayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <imageview android:id="@+id/imageview1" android:layout_width="200dp" android:layout_height="200dp" android:layout_centerinparent="true" android:layout_marginleft="14dp" android:src="@drawable/pic1" /> <imageview android:id="@+id/imageview4" android:layout_width="100dp" android:layout_height="100dp" android:layout_alignparentbottom="true" android:layout_alignparentright="true" android:src="@drawable/left" android:onclick="picture0"/> <imageview android:id="@+id/imageview4" android:layout_width="100dp" android:layout_height="100dp" android:layout_alignparentbottom="true" android:layout_alignparentright="true" android:src="@drawable/right" android:onclick="picture2"/> </relativelayout>
80 pages -> 80 activities, bad idea because it'll load ressources nothing. suggest take viewpager widget (wich, swipe gesture, better in idea of "pages") , use custom adapter create programmatically wich page in single class.
i usally create object class contains every attributes need , implement fragment.
public class questionstack extends fragment { private string textquestionstack; @override public view oncreateview(layoutinflater inflater, viewgroup container, bundle savedinstancestate) { view v = inflater.inflate(r.layout.question_row, container, false); textview messagetextview = (textview) v.findviewbyid(r.id.title); messagetextview.settext(textquestionstack); return v; } } then adapter :
public class questionstackadapter extends fragmentpageradapter { private list<fragment> fragments; public questionstackadapter (fragmentmanager fm, list<fragment> fragments) { super(fm); this.fragments = fragments; } @override public fragment getitem(int position) { return this.fragments.get(position); } @override public int getcount() { return this.fragments.size(); } } and viewpager object inside activity class :
list<fragment> flist = new arraylist<fragment>(); private questionstackadapter pageradapter; private viewpager pager; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); pageradapter = new questionstackadapter(getsupportfragmentmanager(), flist); // init views pager = (viewpager) findviewbyid(r.id.pagerquestionstack); pager.setadapter(pageradapter); } now souhld have try :)
Comments
Post a Comment