请告诉我如何在Android Studio 3.5(最新版本)的导航抽屉片段中添加选项卡式活动。我遇到了“无法通过findViewById和getSupportFragmentManager解决方法”的问题。有什么我需要导入,我使用的是最新版本和androidx。如果我将implements FragmentActivity或任何其他活动添加到类中,它将在关闭应用程序时引发异常。
公共类SendMoneyFragment扩展了片段{
private SendMoneyViewModel toolsViewModel;
public View onCreateView(@NonNull LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState) {
toolsViewModel =
ViewModelProviders.of(this).get(SendMoneyViewModel.class);
View root = inflater.inflate(R.layout.fragment_sendmoney, container, false);
final TextView textView = root.findViewById(R.id.text_sendmoney);
toolsViewModel.getText().observe(this, new Observer<String>() {
@Override
public void onChanged(@Nullable String s) {
textView.setText(s);
}
});
return root;
//setupViewPager();
//method two
ViewPager viewPager = (ViewPager) findViewById(R.id.pager);
TabsAdapter adapter = new TabsAdapter(getSupportFragmentManager());
viewPager.setAdapter(adapter);
TabLayout tabLayout = (TabLayout) findViewById(R.id.main_tabs);
tabLayout.setupWithViewPager(viewPager);
}
该解决方案非常有效:
公共类SendMoneyFragment扩展了片段{
ViewPager pager;
private SendMoneyViewModel toolsViewModel;
public View onCreateView(@NonNull LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState) {
toolsViewModel = ViewModelProviders.of(this).get(SendMoneyViewModel.class);
View root = inflater.inflate(R.layout.fragment_sendmoney, container, false);
final TextView textView = root.findViewById(R.id.text_sendmoney);
TabLayout tabs = (TabLayout) root.findViewById(R.id.main_tabs);
pager=(ViewPager) root.findViewById(R.id.pager);
ViewPagerAdapter adapter = new ViewPagerAdapter(getFragmentManager());
adapter.addFragment(new MoneyAccount(), "Send To Accounts");
adapter.addFragment(new MoneyAgents(), "Send To Agents");
adapter.addFragment(new MoneyBanks(), "Send To Banks");
pager.setAdapter(adapter);
tabs.setupWithViewPager(pager);
toolsViewModel.getText().observe(this, new Observer<String>() {
@Override
public void onChanged(@Nullable String s) {
textView.setText(s);
}
});
return root;
}
class ViewPagerAdapter extends FragmentPagerAdapter {
private final List<Fragment> mList = new ArrayList<>();
private final List<String> mTitleList = new ArrayList<>();
public ViewPagerAdapter(FragmentManager supportFragmentManager) {
super(supportFragmentManager);
}
@Override
public Fragment getItem(int i) {
return mList.get(i);
}
@Override
public int getCount() {
return mList.size();
}
public void addFragment(Fragment fragment, String title) {
mList.add(fragment);
mTitleList.add(title);
}
@Override
public CharSequence getPageTitle(int position) {
return mTitleList.get(position);
}
}
问题内容: 在以下活动中,我上面有一个片段和一个图像。片段只是一个较暗的操作栏,上面有图片。我正在尝试将左侧幻灯片菜单作为一个片段,以便可以在每次活动中使用它。 主要活动; 主要活动XML; 每个活动上应包含的标题栏片段; 标题栏片段XML; 如何在标题栏中实现导航抽屉? 问题答案: 尝试这样的操作,对于布局文件,您只需要 实现可以像这样简单。
我正在尝试在我的android应用中实现一个选项卡导航,但是我想在每个选项卡中运行一个不同的activity。我一直在读android开发页面,他们坚持使用片段导航活动。根据我的理解,你不能有一个片段类本身,它必须包含在一个activity中。 是否可以为每个选项卡创建一个新的activity,并在onTabSelected()函数中运行该activity,同时从正在运行的activity中的片段
我试过了。我不成功。我正在写我的步骤。如果有人能帮我。 > 使用Android Studio创建新项目并选择“导航抽屉活动” 我将FrameLayout放在主活动中,如下所示 我使用v4创建了新类,如下所示。应用程序。碎片 我制作了碎片管理器,如下所示, 调用**public boolean onNavigationItemSelected(MenuItem项)** 我学了一点,但没能成功。这不是
我希望能够使用导航抽屉,并根据导航中的选择在不同片段之间进行更改。 我正在使用Android Studio,基本上我所做的是这样的: 使用内置模板“导航抽屉活动”创建了一个新项目 创建了一个空白片段 然后我更改了onNavigationDrawerItemSelected方法中的一些代码。 我的程序崩溃了,给了我很多我不理解的错误。我做错了什么?
我有一个主活动启动导航抽屉。 也有一些片段。 我需要从片段内部更改导航抽屉列表的标题。 我尝试了这个内部片段: 但是到目前为止还没有运气。这是我的主要活动: 在主活动类中使用相同的方法有效,但在片段中无效。我不知道如何更新字符串并通知抽屉此更改!