类android.app.Fragment源码实例Demo

下面列出了怎么用android.app.Fragment的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: catnut   文件: MainActivity.java
/**
 * 切换fragment,附带一个动画效果
 *
 * @param fragment
 * @param tag      没有赋null即可
 */
private void pendingFragment(Fragment fragment, String tag) {
	FragmentManager fragmentManager = getFragmentManager();
	Fragment tmp = fragmentManager.findFragmentByTag(tag);
	if (tmp == null || !tmp.isVisible()) {
		fragmentManager
				.beginTransaction()
				.setCustomAnimations(
						R.animator.fragment_slide_left_enter,
						R.animator.fragment_slide_left_exit,
						R.animator.fragment_slide_right_enter,
						R.animator.fragment_slide_right_exit
				)
				.replace(R.id.fragment_container, fragment, tag)
				.addToBackStack(null)
				.commit();
		mScrollSettleHandler.post(new Runnable() {
			@Override
			public void run() {
				invalidateOptionsMenu();
			}
		});
	}
}
 
源代码2 项目: oversec   文件: EncryptionParamsActivity.java
@Override
public boolean onOptionsItemSelected(MenuItem item) {
    int id = item.getItemId();
    if (id == android.R.id.home) {
        finish();
        setupExitTransition();
        restoreImeStateOnBackPressed();
        return true;
    } else if (id == R.id.action_share_app) {
        Share.share(this);
        return true;
    } else if (id == R.id.action_pgp_choose_own_key) {
        mGpgEncryptionParamsFragment.triggerSigningKeySelection(null);
        return true;
    } else if (id == R.id.help) {
        Fragment f = mTabAdapter.getItem(mTitleIndicator.getSelectedTabPosition());
        Help.ANCHOR a = null;
        if (f instanceof WithHelp) {
            a = ((WithHelp) f).getHelpAnchor();
        }
        Help.INSTANCE.open(this, a);

        return true;
    }
    return super.onOptionsItemSelected(item);
}
 
源代码3 项目: ALLGO   文件: NavigationDrawerActivity.java
private void selectItem(int position) {
    // update the main content by replacing fragments
    Fragment fragment = new SampleFragment();
    Bundle args = new Bundle();
    args.putInt(SampleFragment.ARG_IMAGE_RES, mCityImages[position]);
    args.putInt(SampleFragment.ARG_ACTION_BG_RES, R.drawable.ab_background);
    fragment.setArguments(args);

    FragmentManager fragmentManager = getFragmentManager();
    fragmentManager.beginTransaction().replace(R.id.content_frame, fragment).commit();

    // update selected item and title, then close the drawer
    mDrawerList.setItemChecked(position, true);
    setTitle(mCityNames[position]);
    mDrawerLayout.closeDrawer(mDrawerList);
}
 
源代码4 项目: AndroidChromium   文件: FirstRunPagerAdapter.java
@Override
public Fragment getItem(int position) {
    assert position >= 0 && position < mPages.size();
    FirstRunPage result = null;
    try {
        result = mPages.get(position).call();
    } catch (Exception e) {
        // We can always return null and it will be properly handled at the caller level.
    }
    if (result == null) return null;

    Bundle props = new Bundle();
    props.putAll(mFreProperties);
    result.setArguments(props);

    return result;
}
 
源代码5 项目: RxLifecycle   文件: RxFragmentLifecycleTest.java
private void testBindUntilEvent(LifecycleProvider<FragmentEvent> provider) {
    Fragment fragment = (Fragment) provider;
    startFragment(fragment);

    TestObserver<Object> testObserver = observable.compose(provider.bindUntilEvent(STOP)).test();

    fragment.onAttach(null);
    testObserver.assertNotComplete();
    fragment.onCreate(null);
    testObserver.assertNotComplete();
    fragment.onViewCreated(null, null);
    testObserver.assertNotComplete();
    fragment.onStart();
    testObserver.assertNotComplete();
    fragment.onResume();
    testObserver.assertNotComplete();
    fragment.onPause();
    testObserver.assertNotComplete();
    fragment.onStop();
    testObserver.assertComplete();
}
 
源代码6 项目: Paperwork-Android   文件: SearchActivity.java
@Override
protected void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_search);

    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_actionbar);
    setSupportActionBar(toolbar);

    if (getSupportActionBar() != null)
    {
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    }

    mNotesFragment = (NotesFragment) Fragment.instantiate(SearchActivity.this, NotesFragment.class.getName());
    Bundle bundle = new Bundle();
    bundle.putBoolean(NotesFragment.KEY_SEARCH_MODE, true);
    mNotesFragment.setArguments(bundle);
    (getFragmentManager().beginTransaction().replace(R.id.main_container, mNotesFragment)).commit();

    SearchView searchView = (SearchView) findViewById(R.id.search);
    searchView.onActionViewExpanded();
    searchView.setOnQueryTextListener(this);
}
 
@Override
public void onActivityCreated(Bundle savedInstanceState) {
	super.onActivityCreated(savedInstanceState);

	customSetBackground(R.color.fastlane_background);
	setHeaderAdapter();

	setCustomPadding();

	/**
	 * The setOnItemSelectedListener has been not only deprecated, but brutally removed by
	 * Google. To get around this limitation, I went to see how BaseRowFragment handled it.
	 * Turns out it sets a listener to the GridView (which is a RecyclerView): there you go.
	 */
	VerticalGridView gridView = ((MainActivity) getActivity()).getVerticalGridView(this);
	gridView.setOnChildSelectedListener(new OnChildSelectedListener() {
		@Override
		public void onChildSelected(ViewGroup viewGroup, View view, int i, long l) {
			Object obj = ((ListRow) getAdapter().get(i)).getAdapter().get(0);
			getFragmentManager().beginTransaction().replace(R.id.rows_container, (Fragment) obj).commit();
			((MainActivity) getActivity()).updateCurrentFragment((Fragment) obj);
		}
	});

}
 
public static void startPhotoPickerForResult(Fragment fragment, String clientId, String redirectUri, int requestCode) {
    String accessToken = getAccessToken(fragment.getActivity());
    if (accessToken != null) {
        if (clientId.equals(cachedClientId)) {
            InstagramGalleryActivity.startForResult(fragment, requestCode);
            return;
        } else {
            logout(fragment.getActivity()); // clear cache & preferences if any.
        }
    }

    InstagramLoginActivity.startLoginForResult(fragment, clientId, redirectUri, requestCode);
}
 
源代码9 项目: 365browser   文件: PassphraseDialogFragment.java
/**
 * Create a new instanceof of {@link PassphraseDialogFragment} and set its arguments.
 */
public static PassphraseDialogFragment newInstance(Fragment target) {
    assert ProfileSyncService.get() != null;
    PassphraseDialogFragment dialog = new PassphraseDialogFragment();
    if (target != null) {
        dialog.setTargetFragment(target, -1);
    }
    return dialog;
}
 
源代码10 项目: BlackLight   文件: FragmentStatePagerAdapter.java
@Override
public void setPrimaryItem(ViewGroup container, int position, Object object) {
    Fragment fragment = (Fragment)object;
    if (fragment != mCurrentPrimaryItem) {
        if (mCurrentPrimaryItem != null) {
            mCurrentPrimaryItem.setMenuVisibility(false);
            mCurrentPrimaryItem.setUserVisibleHint(false);
        }
        if (fragment != null) {
            fragment.setMenuVisibility(true);
            fragment.setUserVisibleHint(true);
        }
        mCurrentPrimaryItem = fragment;
    }
}
 
源代码11 项目: Depth   文件: RootActivity.java
public void goToFragment(final Fragment newFragment) {
    getFragmentManager().beginTransaction().add(R.id.fragment_container, newFragment).commit();
    final Fragment removeFragment = currentFragment;
    currentFragment = newFragment;
    getWindow().getDecorView().postDelayed(new Runnable() {
        @Override
        public void run() {
            getFragmentManager().beginTransaction().remove(removeFragment).commit();
        }
    }, 2000);
}
 
源代码12 项目: android   文件: PlaceAutocompleteView.java
/**
 * Set the view's {@link Fragment} so that when the view is clicked the
 * {@link PlaceAutocompleteActivity} can be started for a result via the fragment context.
 * @param f
 */
public void setFragment(Fragment f) {
  final Fragment fragment = f;
  input = (TextView) findViewById(R.id.place_autocomplete_search_input);
  input.setOnClickListener(new View.OnClickListener() {
    @Override public void onClick(View v) {
      fragment.startActivityForResult(constructIntent(fragment.getActivity()), 0);
    }
  });
}
 
源代码13 项目: MiBandDecompiled   文件: MainUIActivity.java
private void b()
{
    FragmentManager fragmentmanager = getFragmentManager();
    FragmentTransaction fragmenttransaction = fragmentmanager.beginTransaction();
    a = (DynamicFragment)Fragment.instantiate(this, cn/com/smartdevices/bracelet/ui/DynamicFragment.getName());
    fragmenttransaction.add(0x7f0a01bf, a, "DynamicFragment");
    fragmenttransaction.commit();
    fragmentmanager.executePendingTransactions();
    p();
    r();
    I = LuaEvent.getInstance(this);
    c();
    aa = findViewById(0x7f0a01b9);
    k = findViewById(0x7f0a01ba);
}
 
源代码14 项目: android-show-hide-toolbar   文件: HelpUtils.java
public static void showAbout(Activity activity) {
  FragmentManager fm = activity.getFragmentManager();
  FragmentTransaction ft = fm.beginTransaction();
  Fragment prev = fm.findFragmentByTag(ABOUT_DIALOG_TAG);
  if (prev != null) {
    ft.remove(prev);
  }
  ft.addToBackStack(null);

  new AboutDialog().show(ft, "about_dialog");
}
 
源代码15 项目: Android-Remote   文件: PlayerPageAdapter.java
@Override
public void destroyItem(ViewGroup viewPager, int position, Object object) {
    if (position >= getCount()) {
        FragmentManager manager = ((Fragment) object).getFragmentManager();
        FragmentTransaction trans = manager.beginTransaction();
        trans.remove((Fragment) object);
        trans.commit();
    }
}
 
源代码16 项目: ngAndroid   文件: DemoActivity.java
private Fragment getFragment(Class<? extends Fragment> fragClass){
    try {
        return fragClass.newInstance();
    } catch (Exception e) {
        Toast.makeText(this, "Error showing " + fragClass.getSimpleName().replace("Fragment", ""), Toast.LENGTH_SHORT).show();
        Log.e("DemoScope", "Unable to create Fragment", e);
        return null;
    }
}
 
源代码17 项目: ACDD   文件: InstrumentationHook.java
ExecStartFrgmentImpl_JELLY_BEAN(Context context, IBinder contextThread, IBinder token, Fragment fragment, Intent intent,
                                int requestCode, Bundle options) {
    this.who = context;
    this.contextThread = contextThread;
    this.token = token;
    this.target = fragment;
    this.intent = intent;
    this.requestCode = requestCode;
    this.options = options;
}
 
源代码18 项目: ghwatch   文件: DonationService.java
protected static void refreshSupportAppDevelopmentDialogDonated(final Fragment f) {
  if (f != null && f instanceof SupportAppDevelopmentDialogFragment && f.getActivity() != null) {
    f.getActivity().runOnUiThread(new Runnable() {
      public void run() {
        ((SupportAppDevelopmentDialogFragment) f).showDonatedInfo();
      }
    });
  }
}
 
源代码19 项目: android_9.0.0_r45   文件: PreferenceActivity.java
/**
 * Start a new fragment.
 *
 * @param fragment The fragment to start
 * @param push If true, the current fragment will be pushed onto the back stack.  If false,
 * the current fragment will be replaced.
 */
public void startPreferenceFragment(Fragment fragment, boolean push) {
    FragmentTransaction transaction = getFragmentManager().beginTransaction();
    transaction.replace(com.android.internal.R.id.prefs, fragment);
    if (push) {
        transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
        transaction.addToBackStack(BACK_STACK_PREFS);
    } else {
        transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
    }
    transaction.commitAllowingStateLoss();
}
 
源代码20 项目: codeexamples-android   文件: MainActivity.java
public void onTabSelected(Tab tab, FragmentTransaction ft) {
	// Check if the fragment is already initialized
	if (mFragment == null) {
		// If not, instantiate and add it to the activity
		mFragment = Fragment.instantiate(mActivity, mClass.getName());
		ft.add(android.R.id.content, mFragment, mTag);
	} else {
		// If it exists, simply attach it in order to show it
		ft.setCustomAnimations(android.R.animator.fade_in,
				R.animator.animationtest);
		ft.attach(mFragment);
	}
}
 
private void showDialog(final HashMap strings, Object cryptoObject, FingerprintUiHelper.Callback callback) {
    if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {
        // DialogFragment.show() will take care of adding the fragment
        // in a transaction.  We also want to remove any currently showing
        // dialog, so make our own transaction and take care of that here.

        Activity activity = getCurrentActivity();
        if (activity == null) {
            callback.onError(AppConstants.E_INIT_FAILURE,
                    strings.containsKey("cancelled") ? strings.get("cancelled").toString() : "Authentication was cancelled");
            return;
        }

        FragmentTransaction ft = activity.getFragmentManager().beginTransaction();
        Fragment prev = getCurrentActivity().getFragmentManager().findFragmentByTag(AppConstants.DIALOG_FRAGMENT_TAG);
        if (prev != null) {
            ft.remove(prev);
        }
        ft.addToBackStack(null);

        // Create and show the dialog.
        FingerprintAuthenticationDialogFragment newFragment = FingerprintAuthenticationDialogFragment.newInstance(strings);
        newFragment.setCryptoObject((FingerprintManager.CryptoObject) cryptoObject);
        newFragment.setCallback(callback);
        newFragment.show(ft, AppConstants.DIALOG_FRAGMENT_TAG);
    }
}
 
源代码22 项目: BusyBox   文件: SettingsActivity.java
@Override protected Fragment getFragment(int position) {
  int stringId = getStringId(position);
  if (stringId == R.string.settings) {
    return new SettingsFragment();
  } else if (stringId == R.string.about) {
    return new AboutFragment();
  }
  return super.getFragment(position);
}
 
源代码23 项目: PluginLoader   文件: PluginInstrumentionWrapper.java
public ActivityResult execStartActivity(Context who, IBinder contextThread, IBinder token,
		Fragment target, Intent intent, int requestCode, Bundle options) {

	PluginIntentResolver.resolveActivity(intent);

	Object result = RefInvoker.invokeMethod(realInstrumention, android.app.Instrumentation.class.getName(),
			"execStartActivity", new Class[] { Context.class, IBinder.class, IBinder.class,
					Fragment.class, Intent.class, int.class, Bundle.class }, new Object[] { who,
					contextThread, token, target, intent, requestCode, options });

	return (ActivityResult) result;
}
 
源代码24 项目: prevent   文件: ScreenSlidePagerAdapter.java
@Override
public Fragment getItem(int position) {
    if (position == 0) {
        return new Applications();
    } else if (position == 1) {
        return new PreventList();
    } else {
        return null;
    }
}
 
源代码25 项目: coursera-android   文件: DialtactsActivity.java
private Fragment getFragmentAt(int position) {
    switch (position) {
        case TAB_INDEX_DIALER:
            return mDialpadFragment;
        case TAB_INDEX_CALL_LOG:
            return mCallLogFragment;
        case TAB_INDEX_FAVORITES:
            return mPhoneFavoriteFragment;
        default:
            throw new IllegalStateException("Unknown fragment index: " + position);
    }
}
 
源代码26 项目: openvidonn   文件: AlarmArrayAdapter.java
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
    // Do something with the time chosen by the user
    alarm.setTime(hourOfDay, minute);
    Fragment targetFragment = getTargetFragment();
    if (targetFragment != null) {
        targetFragment.onActivityResult(getTargetRequestCode(), Activity.RESULT_OK, null);
    }
}
 
/**
 * サービスとバインドされたことをを通知します.
 */
private void notifyBindService() {
    FragmentManager manager = getFragmentManager();
    Fragment f = manager.findFragmentById(R.id.fragment_container);
    if (f != null && f instanceof FaBoArduinoFragment) {
        ((FaBoArduinoFragment) f).onBindService();
    }

}
 
/**
 * サービスとアンバインドされたことを通知します.
 */
private void notifyUnbindService() {
    FragmentManager manager = getFragmentManager();
    Fragment f = manager.findFragmentById(R.id.fragment_container);
    if (f != null && f instanceof FaBoArduinoFragment) {
        ((FaBoArduinoFragment) f).onUnbindService();
    }
}
 
源代码29 项目: coursera-android   文件: DialtactsActivity.java
private void sendFragmentVisibilityChange(int position, boolean visibility) {
    if (DEBUG) {
        Log.d(TAG, "sendFragmentVisibiltyChange(). position: " + position
                + ", visibility: " + visibility);
    }
    // Position can be -1 initially. See PageChangeListener.
    if (position >= 0) {
        final Fragment fragment = getFragmentAt(position);
        if (fragment != null) {
            fragment.setMenuVisibility(visibility);
            fragment.setUserVisibleHint(visibility);
        }
    }
}
 
源代码30 项目: WearViewStub   文件: ElementGridPagerAdapter.java
private Fragment createActionFragment() {
    return new Fragment(){
        @Nullable
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
            return inflater.inflate(R.layout.fragment_action,container,false);
        }
    };
}
 
 类所在包
 同包方法