java - Android Viewpager 为空

标签 java android android-viewpager

遇到一个小问题。我像以前一样制作了一个 ViewPager,看不出与我上次所做的代码有什么真正的区别,但它不会显示出来。没有错误或警告。只是一个空白的 Viewpager。这是代码:

MainActivity.java:

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;

public class MainActivity extends BaseActivity {

public ViewPager viewPager;
public PagerAdapter viewPagerAdapter;

private String strTitle = "Werkstatt";

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    initViews();

    viewPager = (ViewPager) findViewById(R.id.CatPager);
    viewPagerAdapter = new CatPagerAdapter(getSupportFragmentManager());
    viewPager.setAdapter(viewPagerAdapter);
}

private class CatPagerAdapter extends FragmentPagerAdapter
{

public CatPagerAdapter(FragmentManager fm) {
    super(fm);
    // TODO Auto-generated constructor stub
}

@Override
public Fragment getItem(int arg0) {
    // TODO Auto-generated method stub
    Fragment fragment = new FragmentCat();

    return fragment;
}

@Override
public int getCount() {
    // TODO Auto-generated method stub
    return 0;
}}}

FragmentCat.java

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;


public class FragmentCat extends Fragment{

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    // Inflate the layout for this fragment


    View rootView = (View) inflater.inflate(R.layout.fragment_cat, container, false);
    return rootView;
}   
}

activity_main.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="wrap_content"
android:orientation="vertical" 
>
<android.support.v4.view.ViewPager
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/CatPager"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
     />    
</LinearLayout>

fragment_cat.xml:

<?xml version="1.0" encoding="utf-8"?>
<!-- fragment_screen_slide_page.xml -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"

>

<TextView
    android:id="@+id/textView1"
    android:layout_width="247dp"
    android:layout_height="33dp"
    android:background="#0F0"
    android:text="Something happens" />

<ListView
    android:id="@+id/catListFrag"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginTop="20dp"
    android:paddingLeft="25dp"
    android:paddingRight="25dp"
    android:background="#F00" >
</ListView>
</LinearLayout>

这里没有找到解决方案。希望您能帮忙。

谢谢

最佳答案

它是空的,因为

@Override
public int getCount() {
    // TODO Auto-generated method stub
    return 0;
}

getCount 返回可用 View 数。如果返回 0,则意味着没有可用的 View ,因此永远不会调用 getItem

关于java - Android Viewpager 为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26840053/

相关文章:

java - 无需手动提交的 JTA EntityManager

java - 将 appcompat-v7 和设计库更新到 v24.2.0 会导致错误

java - 初始化期间如何确定 HashMap 负载因子?

android - 当子项单击时更新 ListView 项目的可绘制状态

具有 ViewPager Presenter 生命周期的 Android MVP

java - 根据特定条件替换 ViewPager fragment

java - 我是否必须写入套接字才能让服务器向我发送响应以读取某些服务的横幅?

android - 自动滚动回收 View slider

android - 未在构造函数上设置 GCM FC/发件人 ID

android - 使用viewpager时如何与fragment通信?