java–Fragment中的ListView和Tabwidget

java–Fragment中的ListView和Tabwidget,第1张

概述以下是我的代码的一部分:Fragmentfragment=null;switch(position){case0:fragment=newHomeFragment();break;case1:fragment=newFindPeopleFragment();break;case2:

以下是我的代码的一部分:

Fragment fragment = null;        switch (position) {        case 0:            fragment = new HomeFragment();            break;        case 1:            fragment = new FindPeopleFragment();            break;        case 2:            fragment = new PhotosFragment();            break;        case 3:            fragment = new CommunityFragment();            break;        case 4:            fragment = new PagesFragment();            break;        case 5:            fragment = new WhatsHotFragment();            break;        default:            break;        }        if (fragment != null) {            FragmentManager fragmentManager = getFragmentManager();            fragmentManager.beginTransaction()                    .replace(R.ID.frame_container, fragment).commit();            // update selected item and Title, then close the drawer            mDrawerList.setItemChecked(position, true);            mDrawerList.setSelection(position);            setTitle(navMenuTitles[position]);            mDrawerLayout.closeDrawer(mDrawerList);        } else {            // error in creating fragment            Log.e("MainActivity", "Error in creating fragment");        }

如何制作HomeFragment列表视图或选项卡小部件.

import androID.app.Fragment;import androID.os.Bundle;import androID.vIEw.LayoutInflater;import androID.vIEw.VIEw;import androID.vIEw.VIEwGroup;public class HomeFragment extends Fragment {    public HomeFragment(){}    @OverrIDe    public VIEw onCreateVIEw(LayoutInflater inflater, VIEwGroup container,            Bundle savedInstanceState) {        VIEw rootVIEw = inflater.inflate(R.layout.tabs_scroll, container, false);        return rootVIEw;    }}

如果我应该扩展Listfragment,行:

fragmentManager.beginTransaction()                        .replace(R.ID.frame_container, fragment).commit();

标记错误:“FragmentTransaction类型中的方法replace(int,Fragment)不适用于参数(int,HomeFragment)”

请问,我如何使这项工作,我如何仍然添加一个标签小部件,假设我不想使它成为ListvIEw

解决方法:

试试这个..

你不能这样做Fragment fragment = new HomeFragment();如果你这样做你将得到无法将HomeFragment转换为Fragment,因为HomeFragment是片段类,所以你不能将它分配到片段中.所以,你必须喜欢HomeFragment fragment = new HomeFragment();例如,从您的代码.

switch (position) {        case 0:            HomeFragment fragment = new HomeFragment();            if (fragment != null) {                  FragmentManager fragmentManager = getSupportFragmentManager();                  fragmentManager.beginTransaction()                            .replace(R.ID.frame_container, fragment).commit();                  // update selected item and Title, then close the drawer                  mDrawerList.setItemChecked(position, true);                  mDrawerList.setSelection(position);                  setTitle(navMenuTitles[position]);                  mDrawerLayout.closeDrawer(mDrawerList);            } else {                  // error in creating fragment                  Log.e("MainActivity", "Error in creating fragment");            }            break;            // do like this for remaining cases        default:            break;        }
总结

以上是内存溢出为你收集整理的java – Fragment中的ListView和Tabwidget全部内容,希望文章能够帮你解决java – Fragment中的ListView和Tabwidget所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1117061.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-29
下一篇2022-05-29

发表评论

登录后才能评论

评论列表(0条)

    保存