android - 当我在 fragment 中使用 tablayout 和 viewpager 时出现问题

标签 android xamarin xamarin.android

您好,我在 fragment 中有一个 TabLayout 和 ViewPager

public class Explore : Android.Support.V4.App.Fragment, AppCompatActivity
    {
        private TabLayout tablayout;
        private ViewPager viewPager;
        private TimeBuget timeBuget;
        private SpecialActivity specialActivity;
        public override void OnCreate (Bundle savedInstanceState)
        {
            base.OnCreate (savedInstanceState);

            // Create your fragment here
        }

        public override View OnCreateView (LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            // Use this to return your custom view for this Fragment
            // return inflater.Inflate(Resource.Layout.YourFragment, container, false);

            //return base.OnCreateView (inflater, container, savedInstanceState);
            return inflater.Inflate(Resource.Layout.ExploreLayout,container,false);

            viewPager = View.FindViewById<ViewPager> (Resource.Id.viewpagerExplore);
            setupViewPager (viewPager);

            tablayout = View.FindViewById<TabLayout> (Resource.Id.sliding_tabsExplore);
            tablayout.SetupWithViewPager (viewPager);
        }

        private void InditialFragment()
        {
            timeBuget = new TimeBuget ();
            specialActivity = new SpecialActivity ();
        }
        public void setupViewPager(ViewPager viewPager)
        {
            InditialFragment ();
            ViewPagerAdapter adapter = new ViewPagerAdapter (SupportFragmentManager);
            adapter.addFragment (timeBuget, "Explore");
            adapter.addFragment (specialActivity, "Featured");

            viewPager.Adapter=adapter;
        }
    }
  1. 类不能有多个基类。
  2. 如果我不使用 AppCompatActivity,那么我就不能使用 SupportFragmentManager

如何解决?

最佳答案

您必须在 Activity 中托管 fragment ,而不是同时使用两者。完成之后,您可以像这样访问 SupportFragmentManager:

ViewPagerAdapter adapter = new ViewPagerAdapter ((SpecialActivity as AppCompatActivity).SupportFragmentManager);

关于android - 当我在 fragment 中使用 tablayout 和 viewpager 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37582775/

相关文章:

xaml - 属性内容为null或IEnumerable

android - 在 Xamarin 中,我需要在 map 中心设置标记并获取位置

java - 安卓。替换字符串中的 * 字符

android - Card.io Android SDK 如何在手动输入屏幕上更改标题文本和颜色

c# - 将 AutomationID 与 ListView 一起使用

c# - 安卓 C# TextView.setGravity

.net - Android 版 Mono 中的 Web 引用

c# - 如何在 Xamarin.Forms 中单击按钮时从 map 中删除多段线

android - 我们如何在 android 中显示接收短信的笑脸

android - 在我的本地 andorid 设备上部署解决方案时,Xamarin.Android 不支持运行以前的版本