Android 选项卡停止响应API级别低于22的单击
我正在使用带有viewpager的表格布局在不同页面之间切换。当我使用Android版本6.0和目标Android版本5.1(棒棒糖)编译时,这很好,但当我目标Android的其他版本(如KitKat或冰激凌)时,我无法通过单击选项卡切换到不同的片段。 支持库支持使用ViewPager的最低版本是什么 在我的应用程序中,我的主布局设置如下:Android 选项卡停止响应API级别低于22的单击,android,android-fragments,xamarin,android-viewpager,android-support-library,Android,Android Fragments,Xamarin,Android Viewpager,Android Support Library,我正在使用带有viewpager的表格布局在不同页面之间切换。当我使用Android版本6.0和目标Android版本5.1(棒棒糖)编译时,这很好,但当我目标Android的其他版本(如KitKat或冰激凌)时,我无法通过单击选项卡切换到不同的片段。 支持库支持使用ViewPager的最低版本是什么 在我的应用程序中,我的主布局设置如下: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xm
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<include
android:id="@+id/toolbar"
layout="@menu/toolbar" />
<android.support.v4.widget.DrawerLayout
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- Bottom Tab menu -->
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
app:layout_scrollFlags="scroll|enterAlways"
android:layout_width="match_parent"
android:layout_height="@dimen/custom_tab_layout_height"
app:tabMode="fixed"
app:tabGravity="fill" />
</android.support.design.widget.AppBarLayout>
<FrameLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Yourtime.NonSwipeableViewpager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/fragmentContainer" />
</FrameLayout>
</RelativeLayout>
<!-- The Left Navigation Drawer -->
<android.support.design.widget.NavigationView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:theme="@style/NavigationViewStyle"
android:id="@+id/nav_view"
app:menu="@menu/nav_menu" />
</android.support.v4.widget.DrawerLayout>
是否可以将ViewPager与其他版本的Android一起使用
编辑
我正在使用不可擦除的viewpager来禁用滑动,因此我只能通过单击TableLayout按钮转到不同的视图。这是我的NonSwippelViewPager课程:
class NonSwipeableViewpager : ViewPager
{
public NonSwipeableViewpager(Context context):base(context)
{
}
public NonSwipeableViewpager(Context context, Android.Util.IAttributeSet attr)
: base(context, attr)
{
}
public override bool OnInterceptTouchEvent(MotionEvent ev)
{
return false;
}
public override bool OnTouchEvent(MotionEvent e)
{
return false;
}
}
以下是ViewPagerAdapter的代码:
class ViewPagerAdapter : Android.Support.V4.App.FragmentPagerAdapter
{
public List<V4Fragment> mFragmentList = new List<V4Fragment>();
public List<String> mFragmentTitleLis = new List<string>();
Context ctxt = null;
public ViewPagerAdapter(Context ctxt, V4FragmentManager manager)
: base(manager)
{
this.ctxt = ctxt;
}
public ViewPagerAdapter(V4FragmentManager manager) : base(manager) { }
public override Android.Support.V4.App.Fragment GetItem(int position)
{
return mFragmentList[position];;
}
public override int Count
{
get { return mFragmentList.Count; }
}
public void addFrag(V4Fragment fragment, String title)
{
mFragmentList.Add(fragment);
mFragmentTitleLis.Add(title);
}
public void addFrag(V4Fragment fragment, String title, Bundle user)
{
fragment.Arguments = user;
mFragmentList.Add(fragment);
mFragmentTitleLis.Add(title);
}
public override Java.Lang.ICharSequence GetPageTitleFormatted(int position)
{
return new Java.Lang.String(mFragmentTitleLis[position]);
}
}
class ViewPagerAdapter:Android.Support.V4.App.FragmentPagerAdapter
{
公共列表MFFragmentList=新列表();
公共列表MFFragmentTitlelis=新列表();
上下文ctxt=null;
public ViewPagerAdapter(上下文ctxt,V4FragmentManager)
:基地(经理)
{
this.ctxt=ctxt;
}
public ViewPagerAdapter(V4FragmentManager管理器):基本(管理器){}
public override Android.Support.V4.App.Fragment GetItem(int位置)
{
返回MFFragmentList[位置];;
}
公共覆盖整数计数
{
获取{return MFFragmentList.Count;}
}
public void addFrag(v4片段,字符串标题)
{
添加(片段);
mFragmentTitleLis.Add(标题);
}
public void addFrag(v4片段片段、字符串标题、捆绑用户)
{
fragment.Arguments=user;
添加(片段);
mFragmentTitleLis.Add(标题);
}
public override Java.Lang.ICharSequence GetPageTitleFormatted(int位置)
{
返回新的Java.Lang.String(MFFragmentTitlelis[position]);
}
}
这是一个与Tablayout(Android支持设计库小部件)同步的ViewPager的工作。尝试将活动的基类从AppCompatActivity更改为FragmentActivity。以下是与Tablayout(Android支持设计库小部件)同步的ViewPager的工作。尝试将活动的基类从AppCompatActivity更改为FragmentActivity。是否发生生成错误?如果是,在哪个文件和哪一行?ViewPager
支持返回API 4ViewPager
支持返回API 4 class NonSwipeableViewpager : ViewPager
{
public NonSwipeableViewpager(Context context):base(context)
{
}
public NonSwipeableViewpager(Context context, Android.Util.IAttributeSet attr)
: base(context, attr)
{
}
public override bool OnInterceptTouchEvent(MotionEvent ev)
{
return false;
}
public override bool OnTouchEvent(MotionEvent e)
{
return false;
}
}
class ViewPagerAdapter : Android.Support.V4.App.FragmentPagerAdapter
{
public List<V4Fragment> mFragmentList = new List<V4Fragment>();
public List<String> mFragmentTitleLis = new List<string>();
Context ctxt = null;
public ViewPagerAdapter(Context ctxt, V4FragmentManager manager)
: base(manager)
{
this.ctxt = ctxt;
}
public ViewPagerAdapter(V4FragmentManager manager) : base(manager) { }
public override Android.Support.V4.App.Fragment GetItem(int position)
{
return mFragmentList[position];;
}
public override int Count
{
get { return mFragmentList.Count; }
}
public void addFrag(V4Fragment fragment, String title)
{
mFragmentList.Add(fragment);
mFragmentTitleLis.Add(title);
}
public void addFrag(V4Fragment fragment, String title, Bundle user)
{
fragment.Arguments = user;
mFragmentList.Add(fragment);
mFragmentTitleLis.Add(title);
}
public override Java.Lang.ICharSequence GetPageTitleFormatted(int position)
{
return new Java.Lang.String(mFragmentTitleLis[position]);
}
}