- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用 swipeview 在两个页面之间滑动,每个页面本身就是一个 Activity (一个 xml 和一个 java 文件)。如果没有 swipeview,我的应用程序可以正常工作,并且我的数据库会在每个 Activity 中显示。
但是,当我使用 swipeview 时,xml 文件显示(即:显示 UI 设计)并且我可以在页面之间滑动,但我的 java 文件似乎没有链接(即:所有功能都没有那里,包括数据库适配器)..
这是我的 MainActivity.java:
Public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Create and set adapter
CustomPagerAdapter adapter = new CustomPagerAdapter();
ViewPager myPager = (ViewPager) findViewById(R.id.customviewpager);
myPager.setAdapter(adapter);
myPager.setCurrentItem(0);
}
}
这是我的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="match_parent"
android:orientation="vertical" >
<android.support.v4.view.ViewPager
android:id="@+id/customviewpager"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
这是我的 cutomPagerAdapter 文件:
public class CustomPagerAdapter extends PagerAdapter {
public Object instantiateItem(View collection, int position) {
LayoutInflater inflater = (LayoutInflater) collection.getContext()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
int resId = 0;
switch (position) {
case 0: {
resId = R.layout.activity_one;
break;
}
case 1: {
resId = R.layout.activity_two;
break;
}
}
View view = inflater.inflate(resId, null);
((ViewPager) collection).addView(view, 0);
return view;
}
@Override
public void destroyItem(View arg0, int arg1, Object arg2) {
((ViewPager) arg0).removeView((View) arg2);
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == ((View) arg1);
}
@Override
public Parcelable saveState() {
return null;
}
@Override
public int getCount() {
return 2;
}
}
如何在使用 swipeview 时将我的 Java 文件链接到 UI xml 文件?
最佳答案
在此代码中,您并未启动 Activity ,而只是膨胀了不同的布局。
View view = inflater.inflate(resId, null);
((ViewPager) collection).addView(view, 0);
return view;
开始新 Activity 时,您应该使用 startActivityForResult,例如
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
startActivityForResult(intent, 0);
然后在 onCreate 方法中您应该设置适配器或任何您需要执行的设置。 Activity 应该是顶层且独立的,而不是由适配器管理。
编辑您想要执行以下操作:开始启动 Activity ,这可能是您正在谈论的 Activity 之一。滑动时启动第二个 Activity (不仅仅是加载布局),向后滑动时启动第一个 Activity 。如果您不想将 Activity 保留在堆栈中(按返回箭头返回到它),您可以实现 onActivityResult() 来 finish() Activity (关闭它)。我建议您查看一些有关开始新 Activity 的教程,然后将其应用到您的代码中。
关于java - 使用 swipeview 时如何将 Java 文件链接到 UI xml 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23772071/
我正在开发一个 voip 调用应用程序。我需要做的是在接到来电时将 Activity 带到前台。我在应用程序中使用 Twilio,并在收到推送消息时开始调用。 问题是我试图在接到任何电话时显示 Act
我是一名优秀的程序员,十分优秀!