Android ViewPager 未显示

Android ViewPager not Showing

我正在尝试制作一个小应用程序来为我正在开发的更大的应用程序尝试一些东西。我想添加一个显示四个图像的 viewpager,我单独开发了这个 viewpager 并且它有效,但是当我尝试使用标签将它添加到我的其他应用程序(只有几个按钮)时,它没有显示任何东西而且我我真的被困在这里了。可以通过这种方式添加 Viewpager 吗?老实说,我在 Java 方面没有那么多经验,我通常只编写 C 和汇编程序,如果你能帮助我,我会非常高兴。

这是带有按钮的 xml 文件,包含:

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"
android:weightSum="1">

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Calculo Rapido"
    android:id="@+id/btcr"
    android:layout_gravity="center_vertical"
    android:layout_weight="0.16"
    android:layout_alignParentStart="true" />

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Calculo Avanzado"
    android:id="@+id/button"
    android:layout_centerVertical="true"
    android:layout_below="@+id/btcr" />

<include layout="@layout/viewpager"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_centerHorizontal="true"
    android:translationZ="15dp" />

现在,MainActivity,它包含按钮 activity,因为我将 Viewpager 保存在与 viewpager 原始布局相关联的 Activity 中

Button siguiente;

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

    siguiente = (Button)findViewById(R.id.btcr);
    siguiente.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent siguiente = new Intent(MainActivity.this, Main2Activity.class);
            startActivity(siguiente);
        }
    });
}

最后,mainpager main activity 的代码,它使用保存在另一个 java class 中的 CustomPagerAdapter。正如我之前所说,这个 viewpager 确实可以单独工作,但是当我尝试在这里使用 /include 标签实现它时,它没有显示任何内容。

public class 主Activity 扩展 Activity {

CustomPagerAdapter mCustomPagerAdapter;
ViewPager mViewPager;
private static int currentPage = 0;
private static int NUM_PAGES = 0;
Button siguiente;

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

    // == Setting up the ViewPager ==

    mCustomPagerAdapter = new CustomPagerAdapter(this);

    mViewPager = (ViewPager) findViewById(R.id.pager);
    mViewPager.setAdapter(mCustomPagerAdapter);

    final Handler handler = new Handler();
    final Runnable Update = new Runnable() {
        public void run() {
            if (currentPage == NUM_PAGES) {
                currentPage = 0;
            }
            mViewPager.setCurrentItem(currentPage++);

            if (currentPage == 5) {
                currentPage = 0;
                mViewPager.setCurrentItem(currentPage++, false);
            }
        }
    };
    Timer swipeTimer = new Timer();
    swipeTimer.schedule(new TimerTask() {
        @Override
        public void run() {
            handler.post(Update);
        }
    }, 2000, 2000);

}

对不起,如果它太长了伙计们,但我有点沮丧,我已经尝试了很多东西但它还没有奏效。要么按钮执行它们的操作,但 ViewPager 不工作,要么 ViewPager 工作但按钮已死。

我会非常感谢你的帮助:)

layout 文件夹中创建一个新的 xml 文件并将其命名为 secondactivity.xml

并输入此代码

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

    <android.support.v4.view.ViewPager
       android:layout_width="match_parent"
       android:layout_height="match_parent"
       android:id="@+id/pager">

    </android.support.v4.view.ViewPager>
</LinearLayout>

现在在你的Main2Activity.class

里面

改变

setContentView(R.layout.activity_main);

setContentView(R.layout.secondactivity);

并从您之前的 xml

中删除 include

事实证明,我需要的只是简单的解决方案。我不得不将 viewpager 作为另一个对象放在我的 activity 的布局文件中,只需配置它的大小和位置。然后,在我的 onCreate 上,我粘贴了我正在运行的 ViewPager 的代码。非常简单,不需要其他布局 :)