我正在尝试制作一个小应用程序来为我正在开发的更大的应用程序尝试一些东西。我想添加一个显示四个图像的视图分页器,我单独开发了这个视图分页器并且它可以工作,但是当我尝试将它添加到带有标签的其他应用程序(只有几个按钮)时,它没有显示任何内容,我我真的被困在这里了。可以通过这种方式添加 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,它保存按钮活动,因为我将 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 主活动的代码,它使用保存在另一个 java 类中的 CustomPagerAdapter。正如我之前所说,这个 viewpager 确实可以单独工作,但是当我尝试在这里使用 /include 标记实现它时,它什么也不显示。
公共类 MainActivity 扩展 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 起作用,但按钮已经死了。
我会非常感谢您的帮助:)