下面列出了android.content.IntentSender.SendIntentException#android.support.v4.app.Fragment 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Override
public void onBackPressed() {
if (mFragmentId == Extras.ID_WALLPAPER_SEARCH) {
Fragment fragment = mFragManager.findFragmentByTag(Extras.TAG_WALLPAPER_SEARCH);
if (fragment != null) {
WallpaperSearchFragment wallpaperSearchFragment = (WallpaperSearchFragment) fragment;
if (!wallpaperSearchFragment.isSearchQueryEmpty()) {
wallpaperSearchFragment.filterSearch("");
return;
}
}
super.onBackPressed();
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
return;
}
super.onBackPressed();
}
private String getStateId() {
if (stateId != null) {
return stateId;
}
Fragment parentFragment = getParentFragment();
stateId = parentFragment.getTag();
if (stateId == null) {
int id = parentFragment.getId();
if (id > 0) {
stateId = Integer.toString(id);
}
}
if (stateId == null) {
throw new IllegalStateException("Fragment dose not have a valid id");
}
return stateId;
}
@Override
public void initView(Bundle savedInstanceState) {
SwipeBackHelper.getCurrentPage(this)
.setSwipeBackEnable(false);
SwipeBackHelper.getCurrentPage(this).setDisallowInterceptTouchEvent(true);
getBinding().bnve.enableAnimation(false);
getBinding().bnve.enableShiftingMode(false);
getBinding().bnve.enableItemShiftingMode(false);
List<Fragment> fragments = new ArrayList<>();
fragments.add(new DailyFragment());
fragments.add(new ClassifyFragment());
fragments.add(new GirlFragment());
getBinding().viewpagerMain.setOffscreenPageLimit(fragments.size());
NoTouchNoAnimPagerAdapter noTouchNoAnimPagerAdapter = new NoTouchNoAnimPagerAdapter(getSupportFragmentManager(), fragments);
getBinding().viewpagerMain.setAdapter(noTouchNoAnimPagerAdapter);
setFrag(R.id.b_i_day);
getBinding().bnve.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
setFrag(item.getItemId());
return true;
}
});
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_recyclerview, container, false);
final ObservableRecyclerView recyclerView = (ObservableRecyclerView) view.findViewById(R.id.scroll);
recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
recyclerView.setHasFixedSize(false);
setDummyData(recyclerView);
Fragment parentFragment = getParentFragment();
ViewGroup viewGroup = (ViewGroup) parentFragment.getView();
if (viewGroup != null) {
recyclerView.setTouchInterceptionViewGroup((ViewGroup) viewGroup.findViewById(R.id.container));
if (parentFragment instanceof ObservableScrollViewCallbacks) {
recyclerView.setScrollViewCallbacks((ObservableScrollViewCallbacks) parentFragment);
}
}
return view;
}
@SuppressWarnings("StatementWithEmptyBody")
@Override
public boolean onNavigationItemSelected(MenuItem item) {
// Handle navigation view item clicks here.
int id = item.getItemId();
Fragment fragment;
if (id == R.id.nav_settings) {
fragment = new SettingsFragment();
} else if (id == R.id.nav_track) {
fragment = new TrackFragment();
} else {
// Anything else is home
fragment = new LearnFragment();
}
// Insert the fragment by replacing any existing fragment
FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction()
.replace(R.id.content, fragment)
.commit();
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
drawer.closeDrawer(GravityCompat.START);
return true;
}
public VideoLoadAsync(Fragment fragment, ImageView imageView, boolean isScrolling, int width) {
mImageView = imageView;
this.fragment = fragment;
mWidth = width;
mIsScrolling = isScrolling;
final int memClass = ((ActivityManager) fragment.getActivity().getSystemService(Context.ACTIVITY_SERVICE))
.getMemoryClass();
final int size = 1024 * 1024 * memClass / 8;
// Handle orientation change.
GalleryRetainCache c = GalleryRetainCache.getOrCreateRetainableCache();
mCache = c.mRetainedCache;
if (mCache == null) {
// The maximum bitmap pixels allowed in respective direction.
// If exceeding, the cache will automatically scale the
// bitmaps.
/* final int MAX_PIXELS_WIDTH = 100;
final int MAX_PIXELS_HEIGHT = 100;*/
mCache = new GalleryCache(size, mWidth, mWidth);
c.mRetainedCache = mCache;
}
}
/**
* 初始化数据
*/
private void initialData() {
{
childFragments = new ArrayList<Fragment>();
for (int i = 0; i < list.size(); i++) {
childFragments.add(titleFragment.newInstance(list.get(i)));
}
mPageAdapter = new MainFragmentPagerAdapter(getChildFragmentManager(), list, childFragments);
mViewpager.setAdapter(mPageAdapter);
lauout.setupWithViewPager(mViewpager);
lauout.setTabMode(TabLayout.MODE_FIXED);
DialogView.dismiss();
}
}
@Override
public void init(Bundle savedInstanceState) {
drawer = this;
// information text for the fragment
Bundle bundle = new Bundle();
bundle.putString("instruction", "The Menu has Only Icons");
Fragment fragmentInstruction = new FragmentInstruction();
fragmentInstruction.setArguments(bundle);
// create menu
MaterialMenu menu = new MaterialMenu();
menu.add(new MaterialItemSectionFragment(this, this.getResources().getDrawable(R.drawable.app_drawer_icon) , true, new FragmentDummy(), "Fragment Section Icon Banner"));
menu.add(new MaterialItemSectionFragment(this, this.getResources().getDrawable(R.drawable.ic_extension_black_36dp) , true, new FragmentDummy(), "Extension"));
menu.add(new MaterialItemSectionFragment(this, this.getResources().getDrawable(R.drawable.ic_list_black_36dp) , true, new FragmentDummy(), "List"));
menu.add(new MaterialItemSectionFragment(this, this.getResources().getDrawable(R.drawable.ic_favorite_black_36dp) , true, new FragmentDummy(), "Favorite").setSectionColor(Color.parseColor("#ff0858")));
// load menu
this.loadMenu(menu);
// load the MaterialItemSectionFragment, from the given startIndex
this.loadStartFragmentFromMenu(menu);
}
/**
* Return the callbacks for a fragment or throw an exception.
* <p/>
* Inspired by: https://gist.github.com/keyboardr/5455206
*/
@SuppressWarnings("unchecked")
public static <T> T getCallbacksOrThrow(Fragment frag, Class<T> callbacks) {
Fragment parent = frag.getParentFragment();
if (parent != null && callbacks.isInstance(parent)) {
return (T) parent;
} else {
FragmentActivity activity = frag.getActivity();
if (activity != null && callbacks.isInstance(activity)) {
return (T) activity;
}
}
// We haven't actually failed a class cast thanks to the checks above, but that's the
// idiomatic approach for this pattern with fragments.
throw new ClassCastException("This fragment's activity or parent fragment must implement "
+ callbacks.getCanonicalName());
}
@Override
public Fragment getItem(int position) {
if (position == 0) {
if (tabProfiles == null) tabProfiles = new ProfilesFragment();
return tabProfiles;
} else if (position == 1) {
if (tabLogs == null) tabLogs = new LogsFragment();
return tabLogs;
} else if (position == 2) {
if (tabSettings == null) tabSettings = new SettingsFragment();
return tabSettings;
}
return null;
}
@TargetApi(11)
private static Activity getActivity(Object object) {
if (object instanceof Activity) {
return ((Activity) object);
} else if (object instanceof Fragment) {
return ((Fragment) object).getActivity();
} else if (object instanceof android.app.Fragment) {
return ((android.app.Fragment) object).getActivity();
} else {
return null;
}
}
@Override
public Fragment getItem(int position)
{
switch (position)
{
case 0:
return AppDetailsFragment.newInstance();
}
return null;
}
@Override
public Fragment getItem(int position) {
if (position == 0) {
return ToolAboutFragment.newInstance(mToolType);
}
return ToolListFragment.newInstance(mToolTabs.get(position));
}
@Override
public void onAttach(Context context) {
super.onAttach(context);
Fragment parentFragment = getParentFragment();
if (parentFragment instanceof FragmentInteractionListener) {
listener = (FragmentInteractionListener) parentFragment;
}
}
private void setupViewPager(ViewPager viewPager) {
ViewPagerAdapter adapter = new ViewPagerAdapter(getChildFragmentManager());
Fragment fragment = new NearbyLineFragment();
adapter.addFrag(fragment, getString(R.string.bus_nearby_line));
fragment = new NearbyStationFragment();
adapter.addFrag(fragment, getString(R.string.bus_nearby_station));
fragment = new FavoritesFragment();
adapter.addFrag(fragment, getString(R.string.bus_favorites));
viewPager.setAdapter(adapter);
}
public void onFragmentCreateView(Fragment fragment,
LayoutInflater inflater,
ViewGroup container,
Bundle savedInstanceState) {
Object[] callbacks = collectFragmentLifecycleCallbacks();
if (callbacks != null) {
for (int i = 0; i < callbacks.length; i++) {
((FragmentLifecycleCallbacks) callbacks[i]).onFragmentCreateView(fragment, inflater, container, savedInstanceState);
}
}
}
protected boolean onItemLongClick(Dialog dialog) {
Fragment parent = getParentFragment();
if (parent != null && parent instanceof DialogsFragmentDelegate) {
return ((DialogsFragmentDelegate) parent).onPeerLongClicked(dialog.getPeer());
}
return false;
}
/**
* public method that allows switching the content fragment. This way fragments can
* request switching to another fragments (= perform navigation)
*
* @param fragment
*/
public void switchFragment(Fragment fragment) {
// update the main content by replacing fragments
FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction()
.replace(R.id.container, fragment)
.addToBackStack(fragment.getClass().getSimpleName())
.commit();
mContentFragment = fragment;
}
public void refreshWallpapers() {
if (mAdapter == null) return;
int index = 1;
if (index > mAdapter.getCount()) return;
Fragment fragment = mAdapter.getItem(index);
if (fragment != null && fragment instanceof WallpapersFragment) {
((WallpapersFragment) fragment).getWallpapers();
}
}
public static Fragment newFragment(JecFile path) {
FileListPagerFragment f = new FileListPagerFragment();
Bundle b = new Bundle();
b.putParcelable("path", path);
f.setArguments(b);
return f;
}
@Override
public Fragment getItem(int position) {
if(position == 0){
return new UpdateFragment<Chapter>();
} else {
return new SubscribFragment<User2Novel>();
}
}
/**
* 修改显示的内容 不会重新加载
**/
public void switchContent(Fragment to) {
Boolean isAdded = false;
try {
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
if (getSupportFragmentManager().getFragments() != null) {
for (Fragment f : getSupportFragmentManager().getFragments()) {
if (to.getClass().isAssignableFrom(f.getClass())) {
if (!f.isAdded()) {
transaction.add(R.id.fl_contain, f, f.getClass().getName());
} else {
transaction.show(f);
}
isAdded = true;
} else {
transaction.hide(f);
f.setUserVisibleHint(false);
}
}
}
if (!isAdded) {
if (!to.isAdded()) { // 先判断是否被add过
transaction.add(R.id.fl_contain, to, to.getClass().getName()).commitNow();
} else {
transaction.show(to).commitNow(); // 隐藏当前的fragment,显示下一个
}
} else {
transaction.commitNow();
}
if (getSupportFragmentManager().findFragmentByTag(to.getClass().getName()) != null) {
getSupportFragmentManager().findFragmentByTag(to.getClass().getName()).setUserVisibleHint(true);
}
// setSelectedFragment((BaseFragment) to);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 给其他需要传入数据的碎片使用
*
* @param activity
* @param fragment
* @param url
* @param title
*/
public static void startActivityForResultByFragment(Activity activity,
Fragment fragment,
String url,
String title,
int id,
boolean isCollect,
int request) {
Intent intent = new Intent(activity, ArticleActivity.class);
intent.putExtra(Constant.KEY_ARTICLE_URL, url);
intent.putExtra(Constant.KEY_ARTICLE_TITLE, title);
intent.putExtra(Constant.KEY_ARTICLE_ID, id);
intent.putExtra(Constant.KEY_ARTICLE_COLLECT, isCollect);
fragment.startActivityForResult(intent,request);
}
public int doLogin(Activity activity, String str, IUiListener iUiListener, boolean z, Fragment fragment) {
this.b = str;
this.c = activity;
this.a = iUiListener;
if (a(activity, fragment, z)) {
f.c(f.d, "OpenUi, showUi, return Constants.UI_ACTIVITY");
d.a().a(this.mToken.getOpenId(), this.mToken.getAppId(), "2", "1", "5", "0", "0", "0");
return 1;
}
d.a().a(this.mToken.getOpenId(), this.mToken.getAppId(), "2", "1", "5", "1", "0", "0");
f.d(f.d, "startActivity fail show dialog.");
this.a = new FeedConfirmListener(this, this.a);
return a(z, this.a);
}
private void fromFragment() {
Fragment fragment = ((Fragment) src);
if (forResult) {
fragment.startActivityForResult(intent(fragment.getActivity()), requestCode);
} else {
fragment.startActivity(intent(fragment.getActivity()));
}
}
public HomeActivity()
{
importFileName = null;
if (VisibilityFilter.hideDappBrowser()) dappBrowserFragment = new Fragment();
else dappBrowserFragment = new DappBrowserFragment();
transactionsFragment = new TransactionsFragment();
settingsFragment = new NewSettingsFragment();
walletFragment = new WalletFragment();
lifeCycle = new LifecycleObserver()
{
@OnLifecycleEvent(Lifecycle.Event.ON_START)
private void onMoveToForeground()
{
Log.d("LIFE", "AlphaWallet into foreground");
((WalletFragment)walletFragment).walletInFocus();
}
@OnLifecycleEvent(Lifecycle.Event.ON_STOP)
private void onMoveToBackground()
{
Log.d("LIFE", "AlphaWallet into background");
((WalletFragment)walletFragment).walletOutOfFocus();
}
@Override
public int hashCode()
{
return super.hashCode();
}
};
ProcessLifecycleOwner.get().getLifecycle().addObserver(lifeCycle);
}
public void replaceFragment(Fragment fragment, boolean addToBackStack) {
FragmentTransaction fragmentTransaction = mFragmentManager.beginTransaction();
fragmentTransaction.setCustomAnimations(R.anim.right_in, R.anim.left_out, R.anim.left_in, R.anim.right_out);
fragmentTransaction.replace(R.id.fl_container, fragment);
if (addToBackStack) {
fragmentTransaction.addToBackStack(null);
}
fragmentTransaction.commitAllowingStateLoss();
}
/**
* 隐藏同级别fragment
*
* @param fragmentManager fragment管理器
*/
public static void hideFragments(@NonNull FragmentManager fragmentManager) {
List<Fragment> fragments = getFragments(fragmentManager);
if (fragments.isEmpty()) return;
for (int i = fragments.size() - 1; i >= 0; --i) {
Fragment fragment = fragments.get(i);
if (fragment != null) hideFragment(fragment);
}
}
private void initFragments() {
Fragment timeLineFragment = getMainTimeLineFragment();
Fragment favFragment = getFavFragment();
Fragment hotWeiboFragment = getHotWeiboViewPagerFragment();
Fragment hotHuatiFragment = getHotHuaTiViewPagerFragment();
FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
if (!timeLineFragment.isAdded()) {
fragmentTransaction.add(R.id.center_frame_layout, timeLineFragment, MainTimeLineFragment.class.getName());
fragmentTransaction.hide(timeLineFragment);
}
if (!favFragment.isAdded()) {
fragmentTransaction.add(R.id.center_frame_layout, favFragment, MyFavListFragment.class.getName());
fragmentTransaction.hide(favFragment);
}
if (!hotWeiboFragment.isAdded()) {
fragmentTransaction.add(R.id.center_frame_layout, hotWeiboFragment, HotWeiboViewPagerFragment.class.getName());
fragmentTransaction.hide(hotWeiboFragment);
}
if (!hotHuatiFragment.isAdded()) {
fragmentTransaction.add(R.id.center_frame_layout, hotHuatiFragment, HotHuaTiViewPagerFragment.class.getName());
fragmentTransaction.hide(hotHuatiFragment);
}
if (!fragmentTransaction.isEmpty()) {
fragmentTransaction.commit();
getSupportFragmentManager().executePendingTransactions();
}
}
public void showMapFromPager() {
try {
Fragment f = getCurrentFragment();
if (f != null) {
((RMBTResultPagerFragment) f).getPagerAdapter().showMap();
}
}
catch (Exception e) {
e.printStackTrace();
}
}