标签: android-viewpager

查看寻呼机双击

我在我的应用程序中使用 ViewPager 创建用于滑动图像的滑块。一切工作正常,除了我必须双击缩放图像。但双击在 ViewPager 上不起作用。我尝试了很多解决方案但没有成功。任何帮助表示赞赏。

谢谢

android gesture touch-event android-viewpager

0
推荐指数
1
解决办法
2483
查看次数

ViewPager 不显示页面内容/更改视图后不刷新

我在我的一个应用程序片段中使用 ViewPager / FragmentPagerAdapter 在每个页面中显示不同的列表视图(见下图): 在此处输入图片说明

问题是,在我更改当前视图(片段)并再次重新打开它后,列表视图未呈现(见下图):

在此处输入图片说明

行为是随机的,有时当我在不同的选项卡/页面之间滑动时会显示列表视图。

这是我的片段代码:

public class AstucesFragment extends Fragment implements ActionBar.TabListener {

    ActionBar actionBar;
    AppSectionsPagerAdapter mAppSectionsPagerAdapter;

    ViewPager mViewPager;
    public static String[] tabslist = new String[5];

    public AstucesFragment() {

    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        View view = inflater.inflate(R.layout.fragment_astuces, container, false);

        tabslist[0] = getActivity().getResources().getString(R.string.astuces_quotidien);
        tabslist[1] = getActivity().getResources().getString(R.string.astuces_resto);
        tabslist[2] = getActivity().getResources().getString(R.string.astuces_loisirs);
        tabslist[3] = getActivity().getResources().getString(R.string.astuces_transports);
        tabslist[4] = getActivity().getResources().getString(R.string.astuces_tous);

        mAppSectionsPagerAdapter = new AppSectionsPagerAdapter(getActivity().getSupportFragmentManager());

        actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

        mViewPager = (ViewPager) view.findViewById(R.id.astuces_pager); …
Run Code Online (Sandbox Code Playgroud)

android android-layout android-fragments android-viewpager

0
推荐指数
1
解决办法
1294
查看次数

每次都调用 Fragment 中的 OnCreateView

我有一个ViewPager,我正在使用FragmentStatePagerAdapter来保存我的片段。现在的问题是,当我滑动OnCreateViewOnCreate 时每次都会调用 Fragment,并且我在 Fragment 中进行网络调用,这些调用会一次又一次地被调用,从而导致延迟。

我从这里复制

如何避免调用OnCreateViewOnCreateFragments

这是我的代码:

FragmentHolder.class

    public class ViewPagerAdapter extends SmartFragmentStatePagerAdapter {
    final int PAGE_COUNT = 3;
    private final ArrayList<Fragment> mFragments = new ArrayList<>();
    private long baseId = 0;
    private String tabTitles[] = new String[] { "HOME", "DISCOVER", "MESSAGES" };
    private Context context;
    private TabLayout tabLayout;
    public int[] imageResId = {
            R.drawable.ic_ac_unit_black_24dp,
            R.drawable.ic_airport_shuttle_black_24dp,
            R.drawable.ic_all_inclusive_black_24dp
    };


    public ViewPagerAdapter(FragmentManager fm, Context …
Run Code Online (Sandbox Code Playgroud)

android oncreate android-fragments android-viewpager

0
推荐指数
1
解决办法
989
查看次数

单击 tabLayout 上的某些选项卡时应用程序崩溃

我正在开发一个 Android 应用程序,它有 4 个标签和 4 个片段。我已经在我的 Android 设备上运行了该应用程序。但是我遇到的问题是,当我单击前 2 个选项卡时,它工作正常,但是当我打开第 3 个和第 4 个选项卡时,应用程序立即崩溃!

一开始我以为是第3和第4个片段有bug,后来发现这不是第3个或第4个片段的bug。我用第3和第4个片段替换第1和第2个片段,用第3和第4个片段替换第1和第2个片段。同样的事情仍然发生了!

这是我的 main_activity.java。

public class Main_activity extends AppCompatActivity {

@Bind(R.id.main_activity)
View mView;
private int[] tabIcons = {
        R.drawable.friend_chat,
        R.drawable.call,
        R.drawable.tab_contact,
        R.drawable.profile
};
private TabLayout tabLayout;
private FragmentManager mFragmentManager;
private FragmentTransaction mFragmentTransaction;

private NonSwipeableViewPager viewPager;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);

    mFragmentManager = getSupportFragmentManager();
    mFragmentTransaction = mFragmentManager.beginTransaction();
    mFragmentTransaction.replace(R.id.viewpager, new ConversationsFragment()).commit();


    viewPager = (NonSwipeableViewPager) findViewById(R.id.viewpager);
    setupViewPager(viewPager);

    tabLayout = (TabLayout) …
Run Code Online (Sandbox Code Playgroud)

android android-viewpager android-tabs android-tablayout

0
推荐指数
1
解决办法
751
查看次数

带有recyclerview的Android viewpager无法分段运行

我正在使用带有viewpager的recyclerview片段。

我想在屏幕底部进行导航。 在此处输入图片说明

当我单击每个按钮时,每个片段都会显示在frameLayout中。

问题发生在我第二次进入艺术家片段时(第一次出现时,它按照我的意图显示。),如您在此图像中所见,请在此处输入图像描述

片段中没有出现。并滑动屏幕无法正常工作。它应该向左或向右移动摇杆,但停止在我停止移动手指的位置。

这是我的消息来源。

activity_main_board.xml

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">


<FrameLayout
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_above="@+id/navigation"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true">

</FrameLayout>

<LinearLayout
    android:id="@+id/navigation"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:orientation="vertical">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="7dp"
        android:layout_weight="1"
        android:orientation="horizontal">

        <ImageView
            android:id="@+id/imageView7"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:scaleType="fitXY"
            app:srcCompat="@drawable/image_background7" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="53dp"
        android:layout_weight="1"
        android:orientation="horizontal">

        <LinearLayout
            android:id="@+id/my_board_button"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:gravity="center_vertical|center_horizontal"
            android:orientation="vertical">

            <ImageView
                android:id="@+id/imageView10"
                android:layout_width="30dp"
                android:layout_height="30dp"
                app:srcCompat="@drawable/ic_action_my" />

            <TextView
                android:id="@+id/textView34"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="MY"
                android:textSize="10sp" />

        </LinearLayout>

        <LinearLayout
            android:id="@+id/artwork_board_button"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:gravity="center_vertical|center_horizontal"
            android:orientation="vertical">

            <ImageView
                android:id="@+id/imageView13"
                android:layout_width="30dp"
                android:layout_height="30dp" …
Run Code Online (Sandbox Code Playgroud)

android fragment android-viewpager android-recyclerview

0
推荐指数
1
解决办法
988
查看次数

带有 rtl tablayout 的 Android rtl viewpager

我知道这个问题可能看起来重复,但我找不到解决我的问题的好方法。我将tablayout与 viewpager 一起使用,fragmentPagerAdapter作为 viewpager 的适配器。如您所知,viewpager不支持 rtl 布局,因此我在 rtl 语言环境中遇到了问题。我希望标签从右侧开始(第一个标签贴在屏幕右侧)并且用户可以正确滑动。我怎样才能做到这一点?有什么帮助吗?

android android-viewpager android-tablayout

0
推荐指数
1
解决办法
2684
查看次数

使用 FragmentPagerAdapter 从主 Activity 调用 Fragment 方法

我想从 MainActivity 调用 My Fragment 方法。我从这里找到了很好的解决方案。我正在学习android,所以没有太多技术知识。我的情况略有不同。我在用FragmentPagerAdapter在 MainActivity 中使用如下所示:

\n\n
class ViewPagerAdapter extends FragmentPagerAdapter {\n    private final List<Fragment> mFragmentList = new ArrayList<>();\n    private final List<String> mFragmentTitleList = new ArrayList<>();\n\n    ViewPagerAdapter(FragmentManager manager) {\n        super(manager);\n    }\n\n    @Override\n    public Fragment getItem(int position) {\n        return mFragmentList.get(position);\n    }\n\n    @Override\n    public int getCount() {\n        return mFragmentList.size();\n    }\n\n    void addFragment(Fragment fragment, String title) {\n        mFragmentList.add(fragment);\n        mFragmentTitleList.add(title);\n    }\n\n    @Override\n    public CharSequence getPageTitle(int position) {\n        return mFragmentTitleList.get(position);\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

和我的ViewPager如下所示:

\n\n
   private void setupViewPager(ViewPager …
Run Code Online (Sandbox Code Playgroud)

java android android-fragments android-viewpager android-fragmentactivity

0
推荐指数
1
解决办法
2731
查看次数

Android ViewPager ZoomOut 动画

我有一个如下所示的 ViewPager:

在此处输入图片说明

当您滑动并仅保持中心视图的大小时,我需要侧面的预览以缩小,如下所示:

在此处输入图片说明

我已经尝试了一些示例,ViewPager.PageTransformer()但这些示例总是带有淡入淡出动画(我不需要)并且不显示预览(我需要)。

android android-animation android-viewpager

0
推荐指数
1
解决办法
958
查看次数

如何从 ViewPager Fragment 获取作为 AndroidEntryPoint 的父 Fragment?

我在 ViewPager 中有一个片段,其创建如下:

companion object {

    fun newInstance(someData: SomeData): ViewPagerFragment {
        val f = ViewPagerFragment()
        val args = Bundle()
        args.putParcelable("someData", someData)
        f.arguments = args
        return f
    }
}
Run Code Online (Sandbox Code Playgroud)

它也是一个 Hilt 入口点,它创建自己的 ViewModel,但也需要父 Fragments ViewModel,因此该类的顶部如下所示:

@AndroidEntryPoint
class ViewPagerFragment : Fragment() {

    private val parentViewModel: ParentViewModel by viewModels(
        ownerProducer = { requireParentFragment() }
    )
    private val viewPagerViewModel: ViewPagerViewModel by viewModels()
Run Code Online (Sandbox Code Playgroud)

但是,找不到父 Fragment:

java.lang.IllegalStateException: Fragment ViewPagerFragment{b6d6157} 
(e5f3fc7d-2ae4-4275-9763-22826a9be939) id=0x7f09017e} is not a child Fragment, it is 
directly attached to 
dagger.hilt.android.internal.managers.ViewComponentManager$FragmentContextWrapper@1852444
Run Code Online (Sandbox Code Playgroud)

我认为发生这种情况是因为添加 viewPagerViewModel 后生成的 ViewPagerFragment …

android android-fragments android-viewpager android-viewmodel dagger-hilt

0
推荐指数
1
解决办法
1549
查看次数

指定的子项已有父项.您必须首先在子级父级上调用removeView()(具有片段和ViewPager的Activity)

我创建这篇文章是因为我无法解决这个问题.我的想法是一个片段活动,在顶部有一个片段,它是一个地图,在底部有一个视图寻呼机,允许用户用信息扫描片段.


主要活动(片段活动)

public class RestaurantDetails extends FragmentActivity {

    private static final String TAG = "ImageGridActivity";

@Override
protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.restaurantinfo);
    inicialize();

            /* Adding fragment in a relativelayout */
    if (getSupportFragmentManager().findFragmentByTag(TAG) == null) {
        final FragmentTransaction ft = getSupportFragmentManager()
                .beginTransaction();
        ft.add(R.id.fragment_container, new MapFragment(), TAG);
        ft.commit();
    }

        /* Pager on bottom */
        mPager.setCurrentItem(getIntent().getExtras().getInt("idRest"));
}
Run Code Online (Sandbox Code Playgroud)

布局主要活动

<LinearLayout 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:orientation="vertical" >

      <RelativeLayout
        android:id="@+id/fragment_container"
        android:layout_width="match_parent"
        android:layout_height="212dp"
        tools:context=".MapFragment" />


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

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

地图片段

public class MapFragment extends …
Run Code Online (Sandbox Code Playgroud)

java android android-layout android-fragments android-viewpager

-1
推荐指数
1
解决办法
2415
查看次数

当我们从抽屉活动转到该片段时,不显示查看寻呼机内容?

我有一个视图寻呼机,当它在起始页面时显示内容,但当我们从抽屉活动中取出该页面时,它没有显示任何内容.任何人都可以帮我解决这个问题吗?

android fragment drawer android-viewpager android-recyclerview

-1
推荐指数
1
解决办法
40
查看次数

带有Nestedscrollview和Recyclerview的Viewpager与jerk android一起加载

我用ViewPagerNestedScrollViewRecyclerView。加载屏幕时,所有工作都很好,但首先要加载回收者视图,然后再用急速(不顺畅)的方式查看寻呼机,并且看起来不太好。

现在,我正在设计方面实现,而没有为视图分页器设置任何适配器。我没有为视图分页器或recyclerview填充数据。

Xml:

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

<hammerapps.views.CustomNestedScrollView
    android:id="@+id/scroll_main"
    android:layout_width="match_parent"
    android:layout_gravity="fill_vertical"
    android:layout_height="match_parent"
    android:fillViewport="true">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/white"
        android:orientation="vertical">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="200dp"
            android:orientation="vertical">

            <android.support.v4.view.ViewPager
                android:id="@+id/pager_banner"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:background="@color/gray_bg"
                 />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="16dp"
            android:layout_marginRight="16dp"
            android:layout_marginTop="24dp"
            android:orientation="horizontal"
            android:visibility="visible">

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical">

                <hammerapps.views.TextViewKarlaRegular
                    android:id="@+id/txt_cat_title"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_gravity="left"
                    android:layout_marginTop="4dp"
                    android:text="EXPLORE"
                    android:textColor="@color/blue_color"
                    android:textSize="14dp" />

                <android.support.v7.widget.RecyclerView
                    android:id="@+id/recycler_home_explore"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="16dp" />
            </LinearLayout>
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="30dp"
            android:orientation="vertical"
            android:visibility="visible">

            <hammerapps.views.TextViewKarlaBold
                android:id="@+id/txt_cat1"
                android:layout_width="match_parent" …
Run Code Online (Sandbox Code Playgroud)

android android-viewpager nestedscrollview

-2
推荐指数
1
解决办法
548
查看次数