2013-01-11 82 views
1

我想在我的應用中有幾個活動和幾個佈局.. 應該有100頁閱讀關於scienze,自然和更多,但我不想做100個佈局我想添加不同的頁面到我的視圖適配器就像使用列表一樣。對所有人使用相同的佈局,只需向它添加新數據(如列表)。我想創建具有相同的listview概念,但不同的數據頁面。已經有一篇關於我在說什麼:Using viewpager in my application,但我不能理解如何做到這一點.. 我做了一些嘗試..我把android的支持-v4.jar in libs ..我製作了xml文件:查看頁面解決方案

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 

android:orientation="vertical" 

> 
<android.support.v4.view.ViewPager 
    android:id="@+id/pager" 
    android:layout_width="match_parent" 
    android:layout_height="0px" 
    android:layout_weight="1" > 
</android.support.v4.view.ViewPager> 

</LinearLayout> 

這是下一步?

回答

0

隨着Oleg的回答,我會加上this simple tutorial,我發現它有源代碼,你可以下載,一旦它爲你工作,你可以慢慢適應它,以便你學會它是如何工作的。這顯示瞭如何顯示TextView,我相信這是你想要的,而不是Image。一旦你從給出的鏈接中獲得基礎知識,我認爲你可能想要創建一個ArrayList(可能在它自己的類中)並從那裏獲取數據以添加到每個頁面的TextView,這是由於大量的你打算擁有的頁面。如果你花時間,並確保你瞭解這些組件如何一起工作的基礎知識,那麼我認爲其餘的對你來說會更容易。

我同意Oleg的回答,您可能想使用FragmentStatePagerAdapter,因爲您將擁有大量的頁面/數據。但請給這個教程一個鏡頭,看看這是否有助於你理解這些如何一起工作。祝你好運!

更新

由於我沒有這樣做之前,我會給你們展示一些東西,可能我的工作,最好的拍攝。如果沒有自己玩弄它,我不能肯定地說,但我會試試這個(使用從turorial的代碼,並返回一個數組由類)

public Fragment getItem(int arg0) { 
    MyFragment myFragment = new MyFragment(); 
    Bundle data = new Bundle(); 
    String myArrayString = new ArrayClassName().getText(arg0); //This should get a string value from a method you create in your Array class called getText() 
    data.putInt("current_page", arg0); 
    myFragment.setArguments(data); 
    return myFragment; //this hopefully gets passed back to onCreateView() 
} 

然後用setText(mCurrentPage)因爲他們在onCreateView()中設置頁面文本。我可能錯過了一些東西,因爲我在腦子裏做了所有這些,但我會想象這樣的事情會讓你開始。希望它的作品,因爲這是一大堆工作沒有使用這之前:D

+0

謝謝你們.. 在鏈接中你給我codeMagic這5個頁面有相同的文本我現在需要的是爲每個頁面設置不同的文本..這是我的問題..對於其他事情像FragmentStatePagerAdapter我認爲我瞭解一般比賽.. 我的問題是我如何設置不同的文本? –

+0

這就是爲什麼我建議特定的教程;)這就是爲什麼我建議某種'Array',並使用'位置',發送到適配器以獲取'陣列'的下一個/上一個索引。我沒有這樣做,但邏輯對我來說很有意義。你可以創建一個包含'Array'的類,並使用'position'返回一個文本字符串以添加到視圖 – codeMagic

+0

現在我感到困惑了..我剛剛創建了新的類,因爲你傷心..接下來是什麼?你可以給我的代碼? –

1

看看這個ViewPager example。基本上你需要創建一個適配器來提供你需要的頁面。如果您有很多頁面,我會建議使用FragmentStatePagerAdapter,因爲它已針對大量頁面進行了優化。

更好的是,請看Android docs上的這個例子。

+0

第一個鏈接幫了我很多..我認爲這是我一直在尋找..但我有一個問題..在該教程中只有一個佈局與圖像文件和viewpagerexample.java有2個情況下,該圖像被編輯,並與其他圖像改變..我想做同樣的事情,但不與圖像,但與文本.. –

+0

怎麼可以我用這個系統與文本? @Override public Fragment getItem(int position){ switch(position){ case 0: return new DetailFragment(); 情況1: 返回新的ImageFragment(R.drawable。ic_launcher);案例2: return new ImageFragment(R.drawable.thumb); 默認值: 返回null; } } } } 我的意思是像案例3 new myclass(editthetext); –

+0

我希望你能幫到 –