Android 带有FragmentPagerAdapter的ViewPager不显示内容
我试图使用Android支持库v4中的片段ViewPager&co。当我从寻呼机收听页面更改事件时,片段似乎会滚动,但内容不可见。我基本上拥有的是: 零碎的活动: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);
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;
}