Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 带有FragmentPagerAdapter的ViewPager不显示内容_Android_Android Ui - Fatal编程技术网

Android 带有FragmentPagerAdapter的ViewPager不显示内容

Android 带有FragmentPagerAdapter的ViewPager不显示内容,android,android-ui,Android,Android Ui,我试图使用Android支持库v4中的片段ViewPager&co。当我从寻呼机收听页面更改事件时,片段似乎会滚动,但内容不可见。我基本上拥有的是: 零碎的活动: public class MyActivity extends FragmentActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

我试图使用Android支持库v4中的片段ViewPager&co。当我从寻呼机收听页面更改事件时,片段似乎会滚动,但内容不可见。我基本上拥有的是:

零碎的活动:

public class MyActivity extends FragmentActivity
{
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        FragmentPagerAdapter fpa = new MyPagerAdapter(this, createFragments());

        ViewPager vp = (ViewPager) findViewById(R.id.pager);
        vp.setAdapter(fpa);
    }

    private List<Fragment> createFragments() {
        List<Fragment> list = new ArrayList<Fragment>();
        list.add(Fragment.instantiate(this, First.class.getName()));
        list.add(Fragment.instantiate(this, Second.class.getName()));
        list.add(Fragment.instantiate(this, Third.class.getName()));

        return list;
    }

    @Override
    protected void onSaveInstanceState(Bundle outState) {

    }
它们的布局如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent">
    <TextView android:layout_height="fill_parent"
              android:layout_width="fill_parent"
              android:text="First Fragment"
              android:id="@+id/firstText"/>
</LinearLayout>

我最初忘记添加主布局,现在是:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <android.support.v4.view.ViewPager
            android:id="@+id/pager"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:layout_width="fill_parent"/>
</LinearLayout>


如果有人能告诉我我做错了什么,我将不胜感激。

这是因为您已在
MyPagerAdapter
中重写了
isViewFromObject

FragmentPagerAdapter
处理
isViewFromObject
,因此不应覆盖它


和我一样,我认为这篇文章的大多数访问者都是从一个基本的
PagerAdapter
开始的,然后意识到他们需要页面片段,并在没有意识到后果的情况下更改了基类。不幸的是,我不能就此批评Android团队。

正如Ian Newson所说的,你是正确的,只需从代码中删除isViewFromObject重写方法

  @Override
    public boolean isViewFromObject(View view, Object object) {
    return false;
   }

您能提供包含viewpager的布局吗?您是否在getItem()中设置了断点以确保其触发?另外,在这些文本视图上将textcolor设置为白色,以确保!哦,是的,现在补充说。你的viewpager的高度设置为包裹内容,页面的高度设置为填充父级-这没有意义,可能意味着你的页面没有占用任何空间。我怀疑您希望viewpager的高度也为fill_parent。我已将viewpager设置为fill_parent,并手动将TextView的文本颜色设置为35; ffffff,但运气不佳。仍然看不到任何东西。我在这里看不到其他东西,请随意将项目压缩并发送给我,我不介意看一看-dw86@kent.ac.ukI从一个简单的PagerAdapter更改为一个碎片PagerAdapter,但没有意识到这个问题。非常感谢。救生员,我在其他地方找不到这个信息。。。!哇,我已经成功地做了100次了,但突然出现了这个问题,却无法解决!
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <android.support.v4.view.ViewPager
            android:id="@+id/pager"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:layout_width="fill_parent"/>
</LinearLayout>
  @Override
    public boolean isViewFromObject(View view, Object object) {
    return false;
   }