我将我的旧viewPager适配器转换为新的viewPager2适配器。当我setAdapter到viewPager2时会出错。
setAdapter(androidx.viewpager.widget.RecycleView.Adapter) in ViewPager2不能应用于ViewPagerAdapter
我的ViewPagerAdapter
public class ViewPagerAdapter extends FragmentStatePagerAdapter {
/**
* Contains all the fragments.
*
我是科特林的新手。我正试图在viewpager2内部的片段中检测到滑动和向下滑动手势。当我触摸屏幕(onDown)时,我尝试通过创建祝酒词来测试它。祝酒词没有出现。我做错什么了吗?
非常感谢。
KC
class MainActivity : AppCompatActivity(){
private var binding:ActivityMainBinding?= null
private var viewPager2:ViewPager2?= null
private lateinit var mDetector: GestureDetectorCompat
我有一个ViewPager2,有两页。一个是收到电子邮件,另一个是获取电话号码。为了获得值,我向适配器添加了两个get方法,但我不确定这是正确和最安全的方法。这是我的代码:
public class PhoneEmailFragment extends Fragment {
private View view;
private final String[] tabs = {"Phone", "Email"};
private User user;
private int pageSelected = 0;
@Nullable
@Override
pub
使用TabLayout、ViewPager2和片段制作选项卡。我得到了类型错配的适配器。我是刚接触过KOTLIN和Android的,如果有合适的教程链接,可以用viewpager2实现选项卡布局。
class ProfileActivity:AppCompatActivity() {
lateinit var toolbar: Toolbar
lateinit var tabLayout: TabLayout
lateinit var viewpager2: ViewPager2
override fun onCreate(savedInstanceState: Bundle?) {
我在我的项目中有一个问题,在我的代码中没有任何错误,但是当我构建项目时,它为viewPager2 = requireView().findViewById(R.id.vpager)抛出了一个错误,我不知道为什么?,有什么想法吗? class MyFragment : Fragment(R.layout.fragment_my) {
lateinit var viewPager2: ViewPager2
lateinit var adapter: VideoAdapter
override fun onCreateView(
infla
在我的应用程序中,我正在显示月历列表,可以滚动到上一个月和下个月。在滑动到前面和下一个的时候,如果我使用FragmentStatePagerAdapter和ViewPager,那么我的片段正在顺利地加载,并且没有任何延迟,但是现在已经不再推荐它了。所以,我更新了
ViewPager to ViewPager 2
FragmentStatePagerAdapter to FragmentStateAdapter
在更新之后,我可以看到加载片段的延迟,同时滑动前面和下一个片段。但是相同的代码可以顺利地工作在FragmentStatePagerAdapter和ViewPager中。我也尝试过mVie
ViewPager2 does not support direct child views
我试图使用以下代码在片段之间进行转换,但使用viewpager2时会出现上述错误。
片段1中的调用到片段2:
getFragmentManager().beginTransaction().replace(R.id.viewPager2, new q2_fragment()).addToBackStack(null).commit();
主布局中的Viewpager2 XML:
<androidx.viewpager2.widget.ViewPager2
android:
我有一个导航到Fragment A的Fragment B
Fragment B托管一个ViewPager2。
ViewPager2有两个膨胀的片段-- Fragment C和Fragment D。
在单击Fragment C中的项时,我想导航到Fragment D在Fragment B之上的一个新实例。
目前,我的代码是这样的-
findNavController().navigate(
R.id.action_FragmentC_to_FragmentD,
bundleOf("id" to id, "type"
我的按钮在我的viewpager2 (Page:UserDataFragment)中,它将用户导航到另一个屏幕(UserDataChangeEmailFragment),在那里他们可以更改密码等等。我遇到的问题是这个屏幕上的后退按钮不能工作(例如,当用户按下后退按钮或工具栏按钮时,用户不会被导航回UserDataFragment)。
我得到的唯一错误是:SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length。
图片(试图从x导航到y):
图结构
UserDataHolderFragment (Holder for the Vi
我已经将ViewPager迁移到ViewPager2,并将适配器FragmentPageAdapter迁移到FragmentStateAdaper。在FragmentPageAdapter中有一个名为getItemPostion(Object obj)的方法,通过使用这个方法,我可以替换片段。在FragmentStateAdaper类中,没有该方法如何用FragmentStateAdaper替换viewpager2中片段。下面是我的适配器:
public class BottomNavigationIcon extends FragmentStateAdapter implements Fra
我从ViewPager搬到了ViewPager2。由于无法将可单击回调设置为ViewPager2或将其扩展为可单击,所以我执行了以下操作:
public class ViewPagerFragment extends Fragment {
ViewPager2 viewPagerTop;
ViewPager2Adapter viewPager2TopAdapter;
ClickableListener topClickableListener;
public interface ClickableListener {
public void o
我正在尝试用viewpager2创建全屏图像滑块。但是当我运行代码时,第一页没有显示任何图像,但当我滑动到另一页并重新访问第一页时,图像就会显示。我试了所有的方法,但没有找到问题所在。请帮帮忙。这是我的代码。 PS -I将图像更改为彩色,以便更容易地看到屏幕上的布局。即使当我将图像列表而不是颜色列表传递给我的适配器时,也会发生同样的事情。 我的适配器: class FullScreenImageAdapter(val context: Context, val sliderItems: MutableList<Int>, val viewPager2: ViewPager2) :
我试图在我的应用程序中实现ViewPager2,这不是我第一次这样做,但现在它不起作用了。
几个小时以来,我一直在试图找到一个解决方案,并且尝试了不同的选择,但是--片段并没有出现。ViewPager2正在正确地显示-我通过改变它的背景色来检查它。
我正在使用库--但是我以前测试过这个库,所有的东西都正常工作,现在它不会了。
ViewPager2适配器
public class MainViewPagerAdapter extends FragmentStateAdapter {
private ArrayList<Fragment> arrayList = new Ar
我有两个包含不同片段的视图寻呼机,现在我必须移动到一个视图寻呼机的片段,以分割另一个视图寻呼机。但当我回击之前的片段时,数据必须保持不变。这里的问题是我需要无限循环导航,即从viewpager1的fragment1包含一个文本视图,当我单击它时,它必须转到详细信息屏幕,它位于fragment1 of viewpager2中,而另一个文本视图位于fragment1 of viewpager2中,它必须转到fragment1 of Viewpager1。
我试过使用堆栈,我可以导航,但当我转到3或4个级别并回击时,我丢失了之前的数据,因此得到了空指针异常。
有人能帮我吗?
大家好,我想用Viewpager2制作一个滑块,显示3个元素,我想让它看起来像这个,但我的滑块看起来像这个,这是我的java代码
public class ExplorerFragment extends Fragment {
ViewPager2 usersAvatarSlider;
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View v = in
我同时使用FragmentStateAdapter和ViewPager2。 public class MyAdapter extends FragmentStateAdapter {
public MyAdapter(@NonNull Fragment fragment) {
super(fragment);
}
@NonNull
@Override
public Fragment createFragment(int position) {
return MyFragment.newInstance(MyClass
我对Kotlin和Android程序很陌生。
我有两个使用TabLayout和ViewPager2的选项卡。在我的主要活动xml中,我有编辑文本小部件。当我输入文本并按下enter时,程序需要从编辑文本中获取“键”的“值”,并将其作为按钮添加到两个选项卡(片段)中。现在,如果我在第一个选项卡-我似乎不能添加按钮到第二个。因此,我尝试只在选择第二个选项卡之后才添加按钮,但单击该选项卡似乎无法按计划向其他选项卡滑动。
请帮助我:
编辑了另一个片段,它现在处于“焦点”中,修复了所描述的单击/滑动问题。
谢谢!
我的MainActivity.kt:
class MainActivity : A
在索引处删除/添加片段会导致Viewpager2中出现意外行为。这在ViewPager中是不可能实现的,但是可以在Viewpager2中使用。它会导致重复的片段和不同步的TabLayout。重现此问题的Here is a demo project。有一个切换按钮,用于删除片段并将其重新附加到特定索引处。在这种情况下,附加的片段应该是绿色的,但它是蓝色的,而且不知何故有两个蓝色片段。 下面是我的适配器的外观 class ViewPager2Adapter(activity: FragmentActivity) : FragmentStateAdapter(activity) {
val