1

我希望我的应用程序中的活动和布局很少。应该有 100 页可以阅读有关科学、自然等方面的内容。但我不想制作 100 个布局。我想向我的视图适配器添加不同的页面,就像使用列表一样。对所有人使用相同的布局,然后向其中添加新数据(如列表)。我想创建具有相同列表视图概念但数据不同的页面。

已经有一篇关于我正在谈论的帖子:Using viewpager in my application but I can't understand how to do it..我做了一些尝试..我把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>

下一步是什么?

4

2 回答 2

1

看看这个ViewPager例子。基本上你需要创建一个适配器来提供你需要的页面。如果您有很多页面,我建议您使用 a FragmentStatePagerAdapter,因为它针对大量页面进行了优化。

更好的是,请查看Android 文档上的这个示例。

于 2013-01-11T16:25:42.810 回答
0

随着 Oleg 的回答,我将添加这个简单的教程,我发现它有你可以下载的源代码,一旦它对你有用,你可以在学习它的工作原理时慢慢适应你的需要。这显示了如何显示TextView我认为是您想要的而不是Image. 一旦您从您获得的链接之一中获得了基础知识,我认为您可能想要创建一个ArrayList(可能在它自己的类中)并从那里获取数据以添加到每个页面,TextView因为有大量页面你打算拥有。如果您花时间并确保您了解这些组件如何协同工作的基础知识,那么我认为其余的对您来说会更容易。

我同意 Oleg 的回答,您可能想要使用 a 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

于 2013-01-11T21:08:49.967 回答