类android.support.v4.app.Fragment源码实例Demo

下面列出了怎么用android.support.v4.app.Fragment的API类实例代码及写法,或者点击链接到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;
}
 
源代码3 项目: Cashew   文件: MainActivity.java
@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;
}
 
源代码5 项目: find-client-android   文件: MainActivity.java
@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;
}
 
源代码6 项目: MediaChooser   文件: VideoLoadAsync.java
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;
	}
}
 
源代码7 项目: xmpp   文件: NewsFragment.java
/**
 * 初始化数据
 */
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);
}
 
源代码9 项目: spark-sdk-android   文件: EZ.java
/**
 * 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());
}
 
源代码10 项目: GeoLog   文件: MainActivity.java
@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;
}
 
源代码11 项目: AndroidBasicProject   文件: EasyPermissions.java
@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;
    }
}
 
源代码12 项目: Kernel-Tuner   文件: AppDetailsPagerAdapter.java
@Override
public Fragment getItem(int position)
{
    switch (position)
    {
        case 0:
            return AppDetailsFragment.newInstance();
    }
    return null;
}
 
源代码13 项目: auid2   文件: ToolPagerAdapter.java
@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;
    }
}
 
源代码15 项目: FakeWeather   文件: BusFragment.java
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);

}
 
源代码16 项目: AndroidLifecyle   文件: LifecycleDispatcher.java
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);
        }
    }
}
 
源代码17 项目: actor-platform   文件: DialogsFragment.java
protected boolean onItemLongClick(Dialog dialog) {
    Fragment parent = getParentFragment();
    if (parent != null && parent instanceof DialogsFragmentDelegate) {
        return ((DialogsFragmentDelegate) parent).onPeerLongClicked(dialog.getPeer());
    }
    return false;
}
 
源代码18 项目: android-sensor-example   文件: MainActivity.java
/**
 * 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;
}
 
源代码19 项目: wallpaperboard   文件: CollectionFragment.java
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();
    }
}
 
源代码20 项目: 920-text-editor-v2   文件: FileListPagerFragment.java
public static Fragment newFragment(JecFile path) {
    FileListPagerFragment f = new FileListPagerFragment();
    Bundle b = new Bundle();
    b.putParcelable("path", path);
    f.setArguments(b);
    return f;
}
 
源代码21 项目: fingerpoetry-android   文件: NovelFragment.java
@Override
public Fragment getItem(int position) {
    if(position == 0){
        return new UpdateFragment<Chapter>();
    } else {
        return new SubscribFragment<User2Novel>();
    }
}
 
源代码22 项目: AndroidHttpCapture   文件: MainActivity.java
/**
     * 修改显示的内容 不会重新加载
     **/
    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();
        }
    }
 
源代码23 项目: Yuan-WanAndroid   文件: ArticleActivity.java
/**
 * 给其他需要传入数据的碎片使用
 *
 * @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);
}
 
源代码24 项目: letv   文件: AuthAgent.java
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);
}
 
源代码25 项目: Flow   文件: Flow.java
private void fromFragment() {
    Fragment fragment = ((Fragment) src);
    if (forResult) {
        fragment.startActivityForResult(intent(fragment.getActivity()), requestCode);
    } else {
        fragment.startActivity(intent(fragment.getActivity()));
    }
}
 
源代码26 项目: alpha-wallet-android   文件: HomeActivity.java
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);
}
 
源代码27 项目: Android-Pull-To-Refresh   文件: BaseActivity.java
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();
}
 
源代码28 项目: Android-UtilCode   文件: FragmentUtils.java
/**
 * 隐藏同级别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);
    }
}
 
源代码29 项目: iBeebo   文件: MainTimeLineActivity.java
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();
    }
}
 
源代码30 项目: open-rmbt   文件: RMBTMainActivity.java
public void showMapFromPager() {
	try {
		Fragment f = getCurrentFragment();
		if (f != null) {
			((RMBTResultPagerFragment) f).getPagerAdapter().showMap();
		}
	}
	catch (Exception e) {
		e.printStackTrace();
	}
}
 
 类所在包