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简单实用及数据传递(2))