片段和ListFragment不兼容 [英] Fragment and ListFragment incompatibility

查看:127
本文介绍了片段和ListFragment不兼容的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这样的方法启动,当我从菜单中选择一个页面。问题是,其中的一些扩展片段就像从案例1到6,而其他延长 ListFragment 在情况7

我得到一个:类型不匹配:不能从ItemListFragment转换成片段错误

我要如何解决这个问题?

 包com.prjma.lovertech.activity;

进口的java.util.ArrayList;

进口android.app.Activity;

进口android.content.res.Configuration;
进口android.content.res.TypedArray;
进口android.os.Bundle;
进口android.support.v4.app.ActionBarDrawerToggle;
进口android.support.v4.app.ListFragment;
//进口android.app.ListFragment;
进口android.app.Fragment;
进口android.app.FragmentManager;
进口android.app.FragmentTransaction;
进口android.support.v4.widget.DrawerLayout;
进口android.util.Log;
进口android.view.Menu;
进口android.view.MenuItem;
进口android.view.View;
进口android.widget.AdapterView;
进口android.widget.ListView;

进口com.prjma.lovertech.R;
进口com.prjma.lovertech.R.array;
进口com.prjma.lovertech.R.drawable;
进口com.prjma.lovertech.R.id;
进口com.prjma.lovertech.R.layout;
进口com.prjma.lovertech.R.menu;
进口com.prjma.lovertech.R.string;
进口com.prjma.lovertech.adapter.NavDrawerListAdapter;
进口com.prjma.lovertech.fragment *。
进口com.prjma.lovertech.model.NavDrawerItem;
进口com.prjma.lovertech.util.SessionManager;

公共类WallActivity延伸活动{

    私人DrawerLayout mDrawerLayout;
    私人的ListView mDrawerList;
    私人ActionBarDrawerToggle mDrawerToggle;

    //导航抽屉称号
    私人的CharSequence mDrawerTitle;

    //用于存储应用程序标题
    私人的CharSequence mTitle;

    //滑动菜单项
    私有String [] navMenuTitles;
    私人TypedArray navMenuIcons;

    私人的ArrayList< NavDrawerItem> navDrawerItems;
    私人NavDrawerListAdapter适配器;

    //会话管理器类
    公众是SessionManager会议;

    @覆盖
    保护无效的onCreate(包savedInstanceState){
        super.onCreate(savedInstanceState);
        的setContentView(R.layout.activity_wall);

        //会话管理器
        会议=新SessionManager(中间getApplicationContext());

        / **
         *每当你要检查用户登录调用此函数
         *这将用户重定向到LoginActivity是,他是不是
         * 登录
         * * /
        session.checkLogin();

        mTitle = mDrawerTitle =的getTitle();

        //负荷滑动菜单项
        navMenuTitles = getResources()getStringArray(R.array.nav_drawer_items)。

        //导航抽屉,从资源的图标
        navMenuIcons = getResources()
                .obtainTypedArray(R.array.nav_drawer_icons);

        mDrawerLayout =(DrawerLayout)findViewById(R.id.drawer_layout);
        mDrawerList =(ListView控件)findViewById(R.id.list_slidermenu);

        navDrawerItems =新的ArrayList< NavDrawerItem>();

        //添加导航抽屉里的物品数组
        // 家
        navDrawerItems.add(新NavDrawerItem(navMenuTitles [0],navMenuIcons.getResourceId(0,-1)));
        // Messaggi
        navDrawerItems.add(新NavDrawerItem(navMenuTitles [1],navMenuIcons.getResourceId(1,-1)));
        // Oggettti seguiti
        navDrawerItems.add(新NavDrawerItem(navMenuTitles [2],navMenuIcons.getResourceId(2,-1)));
        // Oggetti acquistati,将在这里添加计数器
        navDrawerItems.add(新NavDrawerItem(navMenuTitles [3],navMenuIcons.getResourceId(3,-1),真,22));
        //在vendita
        navDrawerItems.add(新NavDrawerItem(navMenuTitles [4],navMenuIcons.getResourceId(4,-1)));
        // Venduti
        navDrawerItems.add(新NavDrawerItem(navMenuTitles [5],navMenuIcons.getResourceId(5,-1),真正的50+));
        // Invenduti
        navDrawerItems.add(新NavDrawerItem(navMenuTitles [6],navMenuIcons.getResourceId(6,-1),真,3));
         // 列表显示
    navDrawerItems.add(新NavDrawerItem(navMenuTitles [7],navMenuIcons.getResourceId(7,-1)));

        //回收类型数组
        navMenuIcons.recycle();

        mDrawerList.setOnItemClickListener(新SlideMenuClickListener());

        //设置导航抽屉名单适配器
        适配器=新NavDrawerListAdapter(getApplicationContext()
                navDrawerItems);
        mDrawerList.setAdapter(适配器);

        //使操作栏中的应用程序图标,它表现为切换按钮
        getActionBar()setDisplayHomeAsUpEnabled(真)。
        getActionBar()setHomeButtonEnabled(真)。

        mDrawerToggle =新ActionBarDrawerToggle(这一点,mDrawerLayout,
                R.drawable.ic_drawer,//导航菜单切换图标
                R.string.app_name,//导航抽屉打开 - 说明访问
                R.string.app_name //导航抽屉关闭 - 说明访问
        ){
            公共无效onDrawerClosed(查看视图){
                。getActionBar()的setTitle(mTitle);
                //调用prepareOptionsMenu()来显示操作栏图标
                invalidateOptionsMenu();
            }

            公共无效onDrawerOpened(查看drawerView){
                。getActionBar()的setTitle(mDrawerTitle);
                //调用prepareOptionsMenu()隐藏操作栏图标
                invalidateOptionsMenu();
            }
        };
        mDrawerLayout.setDrawerListener(mDrawerToggle);

        如果(savedInstanceState == NULL){
            //关于第一导航项目首次显示视图
            displayView(0);
        }
    }

    / **
     *滑动菜单项,点击监听器
     * * /
    私有类SlideMenuClickListener工具
            ListView.OnItemClickListener {
        @覆盖
        公共无效onItemClick(适配器视图<>母公司视图中查看,INT位置,
                长ID){
            对选定的导航抽屉的项目//显示视图
            displayView(位置);
        }
    }

    @覆盖
    公共布尔onCreateOptionsMenu(功能菜单){
        。getMenuInflater()膨胀(R.menu.menu,菜单);
        返回true;
    }
 

 包com.prjma.lovertech.fragment;

进口com.prjma.lovertech.R;

进口android.app.Fragment;
进口android.os.Bundle;
进口android.view.LayoutInflater;
进口android.view.View;
进口android.view.ViewGroup;

公共类InvendutiFragment扩展片段{

    公共InvendutiFragment(){}


    @覆盖
    公共查看onCreateView(LayoutInflater充气,容器的ViewGroup,
            捆绑savedInstanceState){

        查看rootView = inflater.inflate(R.layout.fragment_invenduti,集装箱,假);

        返回rootView;
    }
}
 

LL

 包com.prjma.lovertech.fragment;

进口android.app.Activity;
进口android.os.Bundle;
进口android.support.v4.app.ListFragment;
进口android.view.View;
进口android.widget.AbsListView;
进口android.widget.AdapterView;
进口android.widget.ArrayAdapter;
进口android.widget.ListView;

进口com.prjma.lovertech.dummy.DummyContent;

/ **
 *列表片段重新presenting项目的列表。这个片段也支持
 *通过允许列表项平板设备被赋予在一个激活状态
 *选择。这有助于指示哪个项目当前正在查看的
 * {@link ItemDetailFragment}。
 *所述p为H.;
 *含该片段活动必须贯彻{@link回调}
 * 接口。
 * /
公共类ItemListFragment扩展ListFragment {

    / **
     *序列化(保存实例状态)软件包密钥再presenting的
     *启动项的位置。仅用于平板电脑。
     * /
    私有静态最后弦乐STATE_ACTIVATED_POSITION =activated_position;

    / **
     *片段的当前回调对象,它被通知的列表项的
     *点击。
     * /
    私人回调mCallbacks = sDummyCallbacks;

    / **
     *当前激活项目的位置。仅用于平板电脑。
     * /
    私人诠释mActivatedPosition = ListView.INVALID_POSITION;

    / **
     *含有该片段的所有活动的回调接口必须
     * 实现。此机制允许项目的活动,以通知
     *选择。
     * /
    公共接口回调{
        / **
         *回调时,项目已被选定为。
         * /
        公共无效onItemSelected(字符串ID);
    }

    / **
     *一个虚拟实现,它的{@link回调}接口
     *什么都没有。时才使用该片段没有连接到活动。
     * /
    私有静态回调sDummyCallbacks =新的回调(){
        @覆盖
        公共无效onItemSelected(字符串ID){
        }
    };

    / **
     *必须填写空的构造的片段经理来实例化
     *片段(如在屏幕方向变化)。
     * /
    公共ItemListFragment(){
    }

    @覆盖
    公共无效的onCreate(包savedInstanceState){
        super.onCreate(savedInstanceState);

        // TODO:换成一个真正的名单适配器。
        setListAdapter(新ArrayAdapter&其中; DummyContent.DummyItem>(getActivity(),
                android.R.layout.simple_list_item_activated_1,
                android.R.id.text1,DummyContent.ITEMS));
    }

    @覆盖
    公共无效onViewCreated(查看视图,捆绑savedInstanceState){
        super.onViewCreated(查看,savedInstanceState);

        //恢复previously连载启动项的位置。
        如果(savedInstanceState!= NULL
                &功放;&安培; savedInstanceState.containsKey(STATE_ACTIVATED_POSITION)){
            setActivatedPosition(savedInstanceState
                    .getInt(STATE_ACTIVATED_POSITION));
        }
    }

    @覆盖
    公共无效onAttach(活动活动){
        super.onAttach(活动);

        //活动包含该片段必须实现回调。
        如果(!(活动的instanceof回调)){
            抛出新IllegalStateException异常(
                    活动必须实现片段的回调。);
        }

        mCallbacks =(回调)的活动;
    }

    @覆盖
    公共无效onDetach(){
        super.onDetach();

        //重置活性回调接口到哑实施。
        mCallbacks = sDummyCallbacks;
    }

    @覆盖
    公共无效onListItemClick(ListView控件的ListView,视图中查看,INT位置,
            长ID){
        super.onListItemClick(ListView控件,观点,立场,身份证);

        //通知活性回调接口(活性,如果
        //片段连接到一个),该项目已经被选择。
        mCallbacks.onItemSelected(DummyContent.ITEMS.get(位置).ID);
    }

    @覆盖
    公共无效的onSaveInstanceState(包outState){
        super.onSaveInstanceState(outState);
        如果(mActivatedPosition!= AdapterView.INVALID_POSITION){
            //序列化和持久化启动项目的位置。
            outState.putInt(STATE_ACTIVATED_POSITION,mActivatedPosition);
        }
    }

    / **
     *启用激活上点击模式。当该模式上,列表项将是
     *给出的激活状态,触摸时。
     * /
    公共无效setActivateOnItemClick(布尔activateOnItemClick){
        //当设置CHOICE_MODE_SINGLE,ListView控件会自动
        触摸时//给项目的激活状态。
        getListView()。setChoiceMode(
                activateOnItemClick? AbsListView.CHOICE_MODE_SINGLE
                        :AbsListView.CHOICE_MODE_NONE);
    }

    私人无效setActivatedPosition(INT位置){
        如果(位置== AdapterView.INVALID_POSITION){
            getListView()setItemChecked(mActivatedPosition,假)。
        } 其他 {
            getListView()setItemChecked(位置,真正的)。
        }

        mActivatedPosition =位置;
    }
}
 

解决方案

我会做这种方式:

 私人无效displayView(INT位置){
    //更新替换片段的主要内容
    片段片段= NULL;
    ListFragment listfragment = NULL;
    开关(位置){
    情况下0:
        片段=新HomeFragment();
        打破;
    情况1:
        片段=新MessaggiFragment();
        打破;
    案例2:
        片段=新OggettiSeguitiFragment();
        打破;
    案例3:
        片段=新OggettiAcquistatiFragment();
        打破;
    壳体4:
        片段=新InVenditaFragment();
        打破;
    壳体5:
        片段=新VendutiFragment();
        打破;
    情况6:
        片段=新InvendutiFragment();
        打破;
    案例7:
        listfragment =新ItemListFragment();
        打破;
    默认:
        打破;
    }
    如果(片段!= NULL){
        //做的东西,如果它是一个片段
        FragmentManager fragmentManager = getFragmentManager();
        fragmentManager.beginTransaction()
                .replace(R.id.frame_container,片段).commit();
    }否则,如果(listfragment!= NULL){
        //做的东西,如果它是一个listfragment
        FragmentManager fragmentManager = getFragmentManager();
        fragmentManager.beginTransaction()
                .replace(R.id.frame_container,listfragment).commit();
    } 其他 {
        //创建片段错误
        Log.e(MainActivity,创建片段错误);
    }
 

I have this method that launches a page when I select it from a menu. The problem is that some of these extend Fragment like from case 1 to 6, while others extend ListFragment as in case 7.

I get a: Type mismatch: cannot convert from ItemListFragment to Fragment error.

How do I solve this?

    package com.prjma.lovertech.activity;

import java.util.ArrayList;

import android.app.Activity;

import android.content.res.Configuration;
import android.content.res.TypedArray;
import android.os.Bundle;
import android.support.v4.app.ActionBarDrawerToggle;
import android.support.v4.app.ListFragment;
//import android.app.ListFragment;
import android.app.Fragment;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.support.v4.widget.DrawerLayout;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;

import com.prjma.lovertech.R;
import com.prjma.lovertech.R.array;
import com.prjma.lovertech.R.drawable;
import com.prjma.lovertech.R.id;
import com.prjma.lovertech.R.layout;
import com.prjma.lovertech.R.menu;
import com.prjma.lovertech.R.string;
import com.prjma.lovertech.adapter.NavDrawerListAdapter;
import com.prjma.lovertech.fragment.*;
import com.prjma.lovertech.model.NavDrawerItem;
import com.prjma.lovertech.util.SessionManager;

public class WallActivity extends Activity {

    private DrawerLayout mDrawerLayout;
    private ListView mDrawerList;
    private ActionBarDrawerToggle mDrawerToggle;

    // nav drawer title
    private CharSequence mDrawerTitle;

    // used to store app title
    private CharSequence mTitle;

    // slide menu items
    private String[] navMenuTitles;
    private TypedArray navMenuIcons;

    private ArrayList<NavDrawerItem> navDrawerItems;
    private NavDrawerListAdapter adapter;

    // Session Manager Class
    public SessionManager session;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_wall);

        // Session Manager
        session = new SessionManager(getApplicationContext()); 

        /**
         * Call this function whenever you want to check user login
         * This will redirect user to LoginActivity is he is not
         * logged in
         * */
        session.checkLogin();

        mTitle = mDrawerTitle = getTitle();

        // load slide menu items
        navMenuTitles = getResources().getStringArray(R.array.nav_drawer_items);

        // nav drawer icons from resources
        navMenuIcons = getResources()
                .obtainTypedArray(R.array.nav_drawer_icons);

        mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
        mDrawerList = (ListView) findViewById(R.id.list_slidermenu);

        navDrawerItems = new ArrayList<NavDrawerItem>();

        // adding nav drawer items to array
        // Home
        navDrawerItems.add(new NavDrawerItem(navMenuTitles[0], navMenuIcons.getResourceId(0, -1)));
        // Messaggi
        navDrawerItems.add(new NavDrawerItem(navMenuTitles[1], navMenuIcons.getResourceId(1, -1)));
        // Oggettti seguiti
        navDrawerItems.add(new NavDrawerItem(navMenuTitles[2], navMenuIcons.getResourceId(2, -1)));
        // Oggetti acquistati, Will add a counter here
        navDrawerItems.add(new NavDrawerItem(navMenuTitles[3], navMenuIcons.getResourceId(3, -1), true, "22"));
        // In vendita
        navDrawerItems.add(new NavDrawerItem(navMenuTitles[4], navMenuIcons.getResourceId(4, -1)));
        // Venduti
        navDrawerItems.add(new NavDrawerItem(navMenuTitles[5], navMenuIcons.getResourceId(5, -1), true, "50+"));
        // Invenduti
        navDrawerItems.add(new NavDrawerItem(navMenuTitles[6], navMenuIcons.getResourceId(6, -1), true, "3"));
         // ListView
    navDrawerItems.add(new NavDrawerItem(navMenuTitles[7], navMenuIcons.getResourceId(7, -1)));

        // Recycle the typed array
        navMenuIcons.recycle();

        mDrawerList.setOnItemClickListener(new SlideMenuClickListener());

        // setting the nav drawer list adapter
        adapter = new NavDrawerListAdapter(getApplicationContext(),
                navDrawerItems);
        mDrawerList.setAdapter(adapter);

        // enabling action bar app icon and behaving it as toggle button
        getActionBar().setDisplayHomeAsUpEnabled(true);
        getActionBar().setHomeButtonEnabled(true);

        mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout,
                R.drawable.ic_drawer, //nav menu toggle icon
                R.string.app_name, // nav drawer open - description for accessibility
                R.string.app_name // nav drawer close - description for accessibility
        ) {
            public void onDrawerClosed(View view) {
                getActionBar().setTitle(mTitle);
                // calling onPrepareOptionsMenu() to show action bar icons
                invalidateOptionsMenu();
            }

            public void onDrawerOpened(View drawerView) {
                getActionBar().setTitle(mDrawerTitle);
                // calling onPrepareOptionsMenu() to hide action bar icons
                invalidateOptionsMenu();
            }
        };
        mDrawerLayout.setDrawerListener(mDrawerToggle);

        if (savedInstanceState == null) {
            // on first time display view for first nav item
            displayView(0);
        }
    }

    /**
     * Slide menu item click listener
     * */
    private class SlideMenuClickListener implements
            ListView.OnItemClickListener {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position,
                long id) {
            // display view for selected nav drawer item
            displayView(position);
        }
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.menu, menu);
        return true;
    }

l

package com.prjma.lovertech.fragment;

import com.prjma.lovertech.R;

import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

public class InvendutiFragment extends Fragment {

    public InvendutiFragment(){}


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {

        View rootView = inflater.inflate(R.layout.fragment_invenduti, container, false);

        return rootView;
    }
}

ll

package com.prjma.lovertech.fragment;

import android.app.Activity;
import android.os.Bundle;
import android.support.v4.app.ListFragment;
import android.view.View;
import android.widget.AbsListView;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;

import com.prjma.lovertech.dummy.DummyContent;

/**
 * A list fragment representing a list of Items. This fragment also supports
 * tablet devices by allowing list items to be given an 'activated' state upon
 * selection. This helps indicate which item is currently being viewed in a
 * {@link ItemDetailFragment}.
 * <p>
 * Activities containing this fragment MUST implement the {@link Callbacks}
 * interface.
 */
public class ItemListFragment extends ListFragment {

    /**
     * The serialization (saved instance state) Bundle key representing the
     * activated item position. Only used on tablets.
     */
    private static final String STATE_ACTIVATED_POSITION = "activated_position";

    /**
     * The fragment's current callback object, which is notified of list item
     * clicks.
     */
    private Callbacks mCallbacks = sDummyCallbacks;

    /**
     * The current activated item position. Only used on tablets.
     */
    private int mActivatedPosition = ListView.INVALID_POSITION;

    /**
     * A callback interface that all activities containing this fragment must
     * implement. This mechanism allows activities to be notified of item
     * selections.
     */
    public interface Callbacks {
        /**
         * Callback for when an item has been selected.
         */
        public void onItemSelected(String id);
    }

    /**
     * A dummy implementation of the {@link Callbacks} interface that does
     * nothing. Used only when this fragment is not attached to an activity.
     */
    private static Callbacks sDummyCallbacks = new Callbacks() {
        @Override
        public void onItemSelected(String id) {
        }
    };

    /**
     * Mandatory empty constructor for the fragment manager to instantiate the
     * fragment (e.g. upon screen orientation changes).
     */
    public ItemListFragment() {
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // TODO: replace with a real list adapter.
        setListAdapter(new ArrayAdapter<DummyContent.DummyItem>(getActivity(),
                android.R.layout.simple_list_item_activated_1,
                android.R.id.text1, DummyContent.ITEMS));
    }

    @Override
    public void onViewCreated(View view, Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);

        // Restore the previously serialized activated item position.
        if (savedInstanceState != null
                && savedInstanceState.containsKey(STATE_ACTIVATED_POSITION)) {
            setActivatedPosition(savedInstanceState
                    .getInt(STATE_ACTIVATED_POSITION));
        }
    }

    @Override
    public void onAttach(Activity activity) {
        super.onAttach(activity);

        // Activities containing this fragment must implement its callbacks.
        if (!(activity instanceof Callbacks)) {
            throw new IllegalStateException(
                    "Activity must implement fragment's callbacks.");
        }

        mCallbacks = (Callbacks) activity;
    }

    @Override
    public void onDetach() {
        super.onDetach();

        // Reset the active callbacks interface to the dummy implementation.
        mCallbacks = sDummyCallbacks;
    }

    @Override
    public void onListItemClick(ListView listView, View view, int position,
            long id) {
        super.onListItemClick(listView, view, position, id);

        // Notify the active callbacks interface (the activity, if the
        // fragment is attached to one) that an item has been selected.
        mCallbacks.onItemSelected(DummyContent.ITEMS.get(position).id);
    }

    @Override
    public void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
        if (mActivatedPosition != AdapterView.INVALID_POSITION) {
            // Serialize and persist the activated item position.
            outState.putInt(STATE_ACTIVATED_POSITION, mActivatedPosition);
        }
    }

    /**
     * Turns on activate-on-click mode. When this mode is on, list items will be
     * given the 'activated' state when touched.
     */
    public void setActivateOnItemClick(boolean activateOnItemClick) {
        // When setting CHOICE_MODE_SINGLE, ListView will automatically
        // give items the 'activated' state when touched.
        getListView().setChoiceMode(
                activateOnItemClick ? AbsListView.CHOICE_MODE_SINGLE
                        : AbsListView.CHOICE_MODE_NONE);
    }

    private void setActivatedPosition(int position) {
        if (position == AdapterView.INVALID_POSITION) {
            getListView().setItemChecked(mActivatedPosition, false);
        } else {
            getListView().setItemChecked(position, true);
        }

        mActivatedPosition = position;
    }
}

解决方案

I would do it this way:

private void displayView(int position) {
    // update the main content by replacing fragments
    Fragment fragment = null;
    ListFragment listfragment = null;
    switch (position) {
    case 0:
        fragment = new HomeFragment();
        break;
    case 1:
        fragment = new MessaggiFragment();
        break;
    case 2:
        fragment = new OggettiSeguitiFragment();
        break;
    case 3:
        fragment = new OggettiAcquistatiFragment();
        break;
    case 4:
        fragment = new InVenditaFragment();
        break;
    case 5:
        fragment = new VendutiFragment();
        break;
    case 6:
        fragment = new InvendutiFragment();
        break;
    case 7:
        listfragment = new ItemListFragment();
        break;
    default:
        break;
    }     
    if (fragment != null) {
        // do stuff if it's a fragment
        FragmentManager fragmentManager = getFragmentManager();
        fragmentManager.beginTransaction()
                .replace(R.id.frame_container, fragment).commit();
    } else if (listfragment != null) {
        // do stuff if its a listfragment
        FragmentManager fragmentManager = getFragmentManager();
        fragmentManager.beginTransaction()
                .replace(R.id.frame_container, listfragment).commit();
    } else {
        // error in creating fragment
        Log.e("MainActivity", "Error in creating fragment");
    }

这篇关于片段和ListFragment不兼容的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆