【发布时间】:2020-02-22 12:16:27
【问题描述】:
我正在尝试使用 android 的视图寻呼机根据用户配置文件类型动态加载一些片段。但是 view-pager 根据位置返回片段。下面是描述我的问题的示例。
示例:
如果用户是免费用户,则仅显示“个人资料”和“设置”选项卡。但是当管理员用户登录时,他将拥有 4 个额外选项卡以及上述两个选项卡。 (设置选项卡现在被推到最后一项。)
我尝试通过将选项卡标题存储在数组列表中并根据用户类型设置选项卡标题来实现这一点。通过这个我能够根据用户类型正确显示选项卡标题,但是现在返回了片段不正确。
所以我在考虑是否可以根据标签页头返回片段。
我怎样才能正确地实现它?
PS:我有大约 4 种不同页面的用户类型。
代码:
PagerAdapter:
@Override
public Fragment getItem(int position) {
switch (position){
case 0:
return ProfileFragment.newInstance("","");
case 1:
return ManageOrdersFragment.newInstance("","");
case 2:
return ManageSellers.newInstance("","");
case 3:
return ProductsFragment.newInstance("","");
case 4:
return SettingsFragment.newInstance("","");
default:
return ProfileFragment.newInstance("","");
}
}
标签页眉:
一般用户:个人资料、设置
卖家:资料、产品、设置
管理员:资料、订单、卖家、设置
问题:
此处选项卡标题已正确填充,但为第二个选项卡返回的片段是一般用户的 ManageOrders 页面,它应该是设置。我知道返回片段需要标签的位置。如果有人能帮我解决这个问题,那将非常有帮助。
谢谢。
【问题讨论】:
-
如果您显示您已经拥有的代码,帮助您修复它会更容易。
-
我已经用一些代码和对我的问题的更多解释更新了问题
标签: android android-studio android-fragments android-viewpager android-pageradapter