我希望在我的应用程序中有少量的活动和布局。应该有100页来阅读关于科学,自然和更多的内容。但我不想做100个布局。我想将不同的页面添加到我的视图适配器中,就像您使用列表一样。使用相同的布局,只需向其中添加新数据(如列表)。我想创建具有相同列表视图概念但不同数据的页面。
已经有一篇关于我正在讨论的内容的帖子:Using viewpager in my application,但我不明白该怎么做。我做了一些尝试..我将android-support-v4.jar放在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>下一步是什么?
发布于 2013-01-12 05:08:50
除了奥列格的回答,我会加上我发现的this simple tutorial,它有源代码可以下载,一旦它对你起作用了,你就可以在学习它的工作原理时慢慢地适应你的需求。这展示了如何显示一个我认为是你想要的而不是Image的TextView。一旦你从你得到的一个链接中得到了基础知识,我想你可能想要创建一个ArrayList (可能在它自己的类中),并从那里获取数据来添加到每个页面的TextView中,因为你计划拥有大量的页面。如果你从容不迫,确保理解这些组件如何协同工作的基础知识,那么我认为剩下的对你来说会更容易。
我同意奥列格的回答,你可能想要使用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()
}然后像在onCreateView()中一样使用setText(mCurrentPage)来设置页面文本。我可能遗漏了一些东西,因为我在脑海中做了所有这些事情,但我想像这样的事情会让你开始。希望它能工作,因为以前没有使用它有很多工作要做:D
发布于 2013-01-12 00:25:43
看看这个ViewPager example。基本上,您需要创建一个适配器,它将提供您需要的页面。如果您有很多页面,我建议您使用FragmentStatePagerAdapter,因为它针对大量页面进行了优化。
更好的是,看看Android docs上的这个例子。
https://stackoverflow.com/questions/14282307
复制相似问题