`

fragment简单实用及数据传递(2)

 
阅读更多
FragmentTransaction 进行数据传递

import android.app.Activity;
import android.app.FragmentManager;
import android.app.FragmentManager.OnBackStackChangedListener;
import android.app.FragmentTransaction;
import android.os.Bundle;
import android.view.View;

public class FragmentNavigationActivity extends Activity implements
		OnBackStackChangedListener
{     

	private void nextFragment(boolean backStackFlag)
	{
		try
		{
			FragmentManager fragmentManager = getFragmentManager();

			FragmentTransaction fragmentTransaction = fragmentManager
					.beginTransaction();
			FragmentPage fragment = new FragmentPage();
			fragmentTransaction.add(R.id.fragment_container, fragment);

			if (backStackFlag)
				fragmentTransaction
						.addToBackStack(String.valueOf(getFragmentManager()
								.getBackStackEntryCount() + 1));
			fragmentTransaction.commit();
			fragmentManager.addOnBackStackChangedListener(this);

		}
		catch (Exception e)
		{

		}

	}

	@Override
	public void onBackStackChanged()
	{
		setTitle("当前第" + (getFragmentManager().getBackStackEntryCount() + 1)
				+ "页");
	}

	@Override
	protected void onCreate(Bundle savedInstanceState)
	{
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_fragment_navigation);
		nextFragment(false);
		onBackStackChanged();
	}

	public void onClick_NextPage(View view)
	{
		nextFragment(true);
	}

	public void onClick_PrevPage(View view)
	{
		FragmentManager fragmentManager = getFragmentManager();
		fragmentManager.popBackStack();
		//  将回退栈在Fragment状态全部出栈,恢复到第1页
		//fragmentManager.popBackStackImmediate("1",FragmentManager.POP_BACK_STACK_INCLUSIVE);
	}
}


Argument:

Fragment fragment = new DummySectionFragment();
			Bundle args = new Bundle();
			args.putInt(DummySectionFragment.ARG_SECTION_NUMBER, position + 1);
			fragment.setArguments(args);


getArguments().getInt(
					ARG_SECTION_NUMBER))


分享到:
评论

相关推荐

    fragment简单实用及数据传递(1)

    这篇博客"fragment简单实用及数据传递(1)"将深入探讨Fragment的基本使用和数据传递的方法。 首先,让我们了解Fragment的基本概念。Fragment是Android SDK 3.0(API级别11)引入的,它可以看作是一个轻量级的...

    viewpager+fragment+fragment间通讯

    `Activity`与`Fragment`之间的通信以及`Fragment`之间的数据传递则是保证应用正常运行的关键。 首先,我们来讨论如何使用`ViewPager`和`Fragment`来创建滑动导航栏。`ViewPager`通常配合`PagerAdapter`的子类(如`...

    fragment实用Demo

    在这个"fragment实用Demo"中,我们很可能会看到如何在实际应用中有效地利用Fragment。 Fragment的生命周期与Activity类似,包括onAttach(), onCreate(), onCreateView(), onViewCreated(), onActivityCreated(), ...

    fragment与Activity通过接口进行数据传输

    在Android开发中,Fragment和Activity之间的通信是一种常见的需求。Fragment可以视为Activity的一...这种方式不仅适用于简单的数据传递,也可以扩展到更复杂的事件监听和回调场景,是Android开发中一个非常实用的技术。

    Android软件架构之RadioGroup + Fragment , TabLayout + ViewPager +Fragment

    3. 数据传递和通信:在Fragment之间或Fragment与Activity之间传递数据,可以通过Bundle、接口回调、EventBus等方式实现。 4. 页面适配和性能优化:考虑到不同设备的屏幕尺寸和性能差异,需要适配各种屏幕,并通过...

    Fragment之间的通信之万能接口

    例如,我们可以创建一个名为`OnDataInteractionListener`的接口,其中有一个`onDataReceived`方法,用于接收Fragment传递的数据: ```java public interface OnDataInteractionListener { void onDataReceived...

    两个Fragment分别在各自的Activity上的交互

    当涉及到两个Fragment在不同的Activity之间交互时,通常需要传递数据或触发特定操作。在这个场景下,`startActivityForResult()`方法是实现这种交互的一个常见手段,尽管它传统上是与Activity之间的交互关联的,但...

    RadioGroup+fragment

    7. **事件传递**:如果`Fragment`需要与`RadioGroup`进行交互,可以使用`setTargetFragment()`和`getTargetFragment()`方法传递数据,或者通过接口回调的方式。 综上所述,`RadioGroup`结合`Fragment`是一种高效且...

    Android应用源码之Fragment实现tab实例 代码.rar

    5. **数据传递** 在Fragment和Activity之间传递数据,可以通过Intent(如果Fragment是通过Intent启动的Activity的一部分),或者使用setArguments(Bundle)和getArguments()方法。此外,还可以通过接口回调或...

    Android动态加载fragment

    其中,使用Interface是最基础的方式,定义一个接口并在两个Fragment之间共享,一个Fragment作为回调实现接口,另一个Fragment通过接口传递数据。 6. **Fragment嵌套** 一个Fragment内还可以包含其他Fragment,这...

    Otto_AsyncTask_Fragment_Demo1

    它通过发布-订阅模式,使得Activity、Fragment、Service等不同组件之间可以解耦地传递消息,避免了复杂的回调和接口依赖。在`Otto_AsyncTask_Fragment_Demo1`中,Otto用于发布和订阅异步任务的结果,使得各个组件...

    Android app-简易记事本

    6. **Intent与数据传递** Intent是Android中实现组件间通信的关键。在这个记事本应用中,可能会使用Intent来启动新的Activity,比如从列表点击跳转到详情页,或者从编辑页面返回列表。Intent还能用来传递数据,如...

    Android中你可能不知道的Fragment妙用

    这种方法特别适合在Adapter、Dialog等组件中获取登录回调,避免了数据的传递和复杂的事件通信。 总的来说,Fragment在Android开发中不仅用于创建可复用的视图模块,还可以作为通信的桥梁,简化跨组件交互的逻辑。...

    ExpandableListview 的动态树形数据的生成

    在Android开发中,ExpandableListView 是一个非常实用的控件,它可以展示树形结构的数据,通常用于呈现层次化的信息,比如目录结构、菜单等。在实际应用中,我们经常需要动态地生成数据并加载到ExpandableListView中...

    Jquery Ajax 前后台数据传输

    这里,我们传递一个对象作为第二个参数,表示POST数据,`'json'`是预期的服务器响应类型。 3. **使用`.load()`和`.html()`** 对于只需要更新HTML内容的情况,`.load()`和`.html()`方法非常实用。例如,加载服务器...

    10个实用Android应用程序源码

    源码中可能会展示如何创建和管理多个Activity,以及如何通过Intent传递数据。 2. **布局设计**:XML文件用于定义Android应用的用户界面。源码可能包括LinearLayout、RelativeLayout、ConstraintLayout等布局的使用...

    android bundle message

    通过这个“bundle_message”的源码,我们可以深入理解如何有效地使用Bundle进行数据传递,以及在实际开发中可能遇到的问题和解决策略。源码可能涵盖了异常处理、空值检查、数据验证等多个方面,这些都是Android开发...

    MyFragment2.zip

    5. **setArguments(Bundle)**: 在添加或替换Fragment之前,可以使用此方法传递数据到Fragment。Bundle对象可以在Fragment的onCreate()或onCreateView()方法中通过getArguments()访问。 6. **Fragment生命周期**: 和...

    MyDemo简单实用的引导页(补充)

    总之,"MyDemo简单实用的引导页"涵盖了从设计概念到技术实现的全过程,包括视觉设计、动画效果、用户体验、数据持久化等多个方面,是理解移动应用引导页设计与实现的一个良好案例。通过深入研究MyDemo,开发者可以学...

Global site tag (gtag.js) - Google Analytics