2013-01-11 49 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

我希望你能帮到 –