gpt4 book ai didi

Activity 之间的Android PagerView

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:48:40 25 4
gpt4 key购买 nike

我有五个 Activity/屏幕,我希望能够在它们之间滑动,每个 Activity/屏幕都有不同的功能但相互关联,因此在每个 Activity/屏幕之间滑动的 UI 概念。

我发现了很多关于 ViewPager 和 PagerAdapters 等的讨论,但似乎找不到在不同 Activity 屏幕之间滑动切换的讨论。

这可能吗?有人可以用源代码指出我的示例项目吗?或者告诉我如何调整现有教程来完成我想做的事情?

非常感谢,祝你玩得愉快!

最佳答案

您不能使用 ViewPagerActivities 之间滑动。您需要将五个 Activity 中的每一个转换为 Fragments,然后将所有内容与 Adapter 组合成一个 FragmentActivityViewPager 一起使用。

Here's a link其中详细介绍了如何转换您当前的 Activities 信息 Fragments

这是 Fragment topic在 Android 开发者网站上,它有很多有用的信息。

Here's another example (完整源代码)在每个页面上膨胀 TextViews

这是我输入的示例:

PagerAdapter:

public class PagerAdapter extends FragmentPagerAdapter {

private final List<Fragment> mFragments = new ArrayList<Fragment>();

public PagerAdapter(FragmentManager manager) {
super(manager);
}

public void addFragment(Fragment fragment) {
mFragments.add(fragment);
notifyDataSetChanged();
}

@Override
public int getCount() {
return mFragments.size();
}

@Override
public Fragment getItem(int position) {
return mFragments.get(position);
}
}

这应该在 FragmentActivityonCreate 中调用:

    private void initPaging() {

FragmentOne fragmentOne = new FragmentOne();
FragmentTwo fragmentTwo= new FragmentTwo();

PagerAdapter pagerAdapter = new PagerAdapter(getSupportFragmentManager());
pagerAdapter.addFragment(fragmentOne);
pagerAdapter.addFragment(fragmentTwo);

ViewPager viewPager = (ViewPager) findViewById(R.id.viewPager);
viewPager.setAdapter(pagerAdapter);
}

这是您将用于 FragmnetActivity 的布局示例:

<?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/viewPager"
android:layout_width="match_parent"
android:layout_height="match_parent" />

</LinearLayout>

要创建 Fragment,请创建一个扩展 Fragment 的新类。您要覆盖 的前两个方法是onActivityCreatedonCreateView

您可以这样做:

public class FragmentOne extends Fragment {

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(THE_LAYOUT_FROM_YOUR_ORIGINAL_ACTIVITY, container, false);
return view;
}
}

关于 Activity 之间的Android PagerView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9849138/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com