android.support.v4.app.Fragment#setTargetFragment ( )源码实例Demo

下面列出了android.support.v4.app.Fragment#setTargetFragment ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

@Override
        public Fragment getItem(int i) {
            Fragment fragment = null;

            switch (i) {
                case 0:
                    fragment = new ConfigureCallDialogPage1ContactsFragment();
                    break;
                case 1:
                    fragment = new ConfigureCallDialogPage2ActionsFragment();
                    break;
                case 2:
//                    fragment = new ConfigureCallDialogPage3SummaryFragment();
                    fragment.setTargetFragment(recyclerViewFragment, 0);

                    setupFragment = (ConfigurationDialogTabbedSummaryFragment) fragment;
            }

            if (fragment != null && callEventId != -1) {
                Bundle bundle = new Bundle();
                bundle.putLong(CALL_EVENT_ID_KEY, callEventId);
                fragment.setArguments(bundle);
            }

            return fragment;
        }
 
@Override
public Fragment getItem(int i) {
    Fragment fragment = null;

    switch (i) {
        case 0:
            fragment = new ConfigureGatewayDialogPage1Fragment();
            fragment.setTargetFragment(targetFragment, 0);
            break;
        case 1:
            fragment = new ConfigureGatewayDialogPage2Fragment();
            fragment.setTargetFragment(targetFragment, 0);

            setupFragment = (ConfigurationDialogTabbedSummaryFragment) fragment;
            break;
    }

    if (fragment != null && gatewayId != -1) {
        Bundle bundle = new Bundle();
        bundle.putLong(GATEWAY_ID_KEY, gatewayId);
        fragment.setArguments(bundle);
    }

    return fragment;
}
 
@Override
public Fragment getItem(int i) {
    Fragment fragment = null;

    switch (i) {
        case 0:
            fragment = new ConfigureSceneDialogPage1NameFragment();
            break;
        case 1:
            fragment = new ConfigureSceneDialogTabbedPage2SetupFragment();
            fragment.setTargetFragment(recyclerViewFragment, 0);

            setupFragment = (ConfigurationDialogTabbedSummaryFragment) fragment;
    }

    if (fragment != null && sceneId != -1) {
        Bundle bundle = new Bundle();
        bundle.putLong(SCENE_ID_KEY, sceneId);
        fragment.setArguments(bundle);
    }

    return fragment;
}
 
@Override
public Fragment getItem(int i) {
    Fragment fragment = null;

    switch (i) {
        case 0:
            fragment = new ConfigureApartmentDialogPage1NameFragment();
            fragment.setTargetFragment(recyclerViewFragment, 0);

            setupFragment = (ConfigurationDialogTabbedSummaryFragment) fragment;
            break;
    }

    if (fragment != null && apartmentId != -1) {
        Bundle bundle = new Bundle();
        bundle.putLong(APARTMENT_ID_KEY, apartmentId);
        fragment.setArguments(bundle);
    }

    return fragment;
}
 
@Override
public Fragment getItem(int position)
{
    switch (position)
    {
    case 0:
        Fragment dayFragment = DayFragment.newInstance(
                mTheme,
                mDayIndex,
                mIsCustomDaysArraySpecified,
                mCustomDaysArray);
        dayFragment.setTargetFragment(SlideDayTimeDialogFragment.this, 100);
        return dayFragment;
    case 1:
        Fragment timeFragment = TimeFragment.newInstance(
                mTheme,
                mCalendar.get(Calendar.HOUR_OF_DAY),
                mCalendar.get(Calendar.MINUTE),
                mIsClientSpecified24HourTime,
                mIs24HourTime);
        timeFragment.setTargetFragment(SlideDayTimeDialogFragment.this, 200);
        return timeFragment;
    }

    return null;
}
 
@Override
public Fragment getItem(int i) {
    Fragment fragment = null;

    switch (i) {
        case 0:
            fragment = new ConfigureGeofenceDialogPage1LocationFragment();
            break;
        case 1:
            fragment = new ConfigureGeofenceDialogPage2EnterActionsFragment();
            break;
        case 2:
            fragment = new ConfigureGeofenceDialogPage3ExitActionsFragment();
            break;
        case 3:
            fragment = new ConfigureGeofenceDialogPage4SummaryFragment();
            fragment.setTargetFragment(recyclerViewFragment, 0);

            summaryFragment = (ConfigurationDialogTabbedSummaryFragment) fragment;
            break;
        default:
            break;
    }

    if (fragment != null && geofenceId != -1) {
        Bundle bundle = new Bundle();
        bundle.putLong(GEOFENCE_ID_KEY, geofenceId);
        fragment.setArguments(bundle);
    }

    return fragment;
}
 
@Override
public Fragment getItem(int i) {
    Fragment fragment = null;

    switch (i) {
        case 0:
            fragment = new ConfigureTimerDialogPage1TimeFragment();
            break;
        case 1:
            fragment = new ConfigureTimerDialogPage2DaysFragment();
            break;
        case 2:
            fragment = new ConfigureTimerDialogPage3ActionFragment();
            break;
        case 3:
            fragment = new ConfigureTimerDialogPage4TabbedSummaryFragment();
            fragment.setTargetFragment(recyclerViewFragment, 0);
            summaryFragment = (ConfigurationDialogTabbedSummaryFragment) fragment;
    }

    if (fragment != null && timerId != -1) {
        Bundle bundle = new Bundle();
        bundle.putLong(TIMER_ID_KEY, timerId);
        fragment.setArguments(bundle);
    }

    return fragment;
}
 
@Override
public Fragment getItem(int i) {
    Fragment fragment = null;

    switch (i) {
        case 0:
            fragment = new ConfigureReceiverDialogPage1NameFragment();
            break;
        case 1:
            fragment = new ConfigureReceiverDialogPage2TypeFragment();
            break;
        case 2:
            fragment = new ConfigureReceiverDialogPage3SetupFragment();
            break;
        case 3:
            fragment = new ConfigureReceiverDialogPage4TabbedSummaryFragment();
            fragment.setTargetFragment(recyclerViewFragment, 0);

            summaryFragment = (ConfigurationDialogTabbedSummaryFragment) fragment;
            break;
        default:
            break;
    }

    if (fragment != null && receiverId != -1) {
        Bundle bundle = new Bundle();
        bundle.putLong(RECEIVER_ID_KEY, receiverId);
        fragment.setArguments(bundle);
    }

    return fragment;
}
 
@Override
public Fragment getItem(int i) {
    Fragment fragment = null;

    switch (i) {
        case 0:
            fragment = new ConfigureGeofenceDialogPage1LocationFragment();
            break;
        case 1:
            fragment = new ConfigureGeofenceDialogPage2EnterActionsFragment();
            break;
        case 2:
            fragment = new ConfigureGeofenceDialogPage3ExitActionsFragment();
            break;
        case 3:
            fragment = new ConfigureGeofenceDialogPage4SummaryFragment();
            fragment.setTargetFragment(recyclerViewFragment, 0);

            summaryFragment = (ConfigurationDialogTabbedSummaryFragment) fragment;
            break;
        default:
            break;
    }

    if (fragment != null && apartmentId != -1) {
        Bundle bundle = new Bundle();
        bundle.putLong(APARTMENT_ID_KEY, apartmentId);

        if (geofenceId != -1) {
            bundle.putLong(GEOFENCE_ID_KEY, geofenceId);
        }

        fragment.setArguments(bundle);
    }

    return fragment;
}
 
源代码10 项目: PreferenceFragment   文件: PreferenceActivity.java
/**
 * Start a new fragment containing a preference panel. If the preferences
 * are being displayed in multi-pane mode, the given fragment class will
 * be instantiated and placed in the appropriate pane. If running in
 * single-pane mode, a new activity will be launched in which to show the
 * fragment.
 * 
 * @param fragmentClass
 *            Full name of the class implementing the fragment.
 * @param args
 *            Any desired arguments to supply to the fragment.
 * @param titleRes
 *            Optional resource identifier of the title of this
 *            fragment.
 * @param titleText
 *            Optional text of the title of this fragment.
 * @param resultTo
 *            Optional fragment that result data should be sent to.
 *            If non-null, resultTo.onActivityResult() will be called when this
 *            preference panel is done. The launched panel must use
 *            {@link #finishPreferencePanel(Fragment, int, Intent)} when done.
 * @param resultRequestCode
 *            If resultTo is non-null, this is the caller's
 *            request code to be received with the resut.
 */
public void startPreferencePanel(String fragmentClass, Bundle args, int titleRes,
        CharSequence titleText, Fragment resultTo, int resultRequestCode) {
    if (mSinglePane) {
        startWithFragment(fragmentClass, args, resultTo, resultRequestCode, titleRes, 0);
    } else {
        Fragment f = Fragment.instantiate(this, fragmentClass, args);
        if (resultTo != null) {
            f.setTargetFragment(resultTo, resultRequestCode);
        }
        FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
        transaction.replace(R.id.prefs, f);
        if (titleRes != 0) {
            transaction.setBreadCrumbTitle(titleRes);
        } else if (titleText != null) {
            transaction.setBreadCrumbTitle(titleText);
        }
        transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
        transaction.addToBackStack(BACK_STACK_PREFS);
        transaction.commitAllowingStateLoss();
    }
}