android 界面跳转封装,【Android】Fragment跳转系列
一、同一個(gè)Activity下Fragment之間相互跳轉(zhuǎn)(含帶參數(shù))
Fragment1跳轉(zhuǎn)到Fragment2中
1.封裝一個(gè)方法
這樣封裝是方便一個(gè)Activity下有多個(gè)Fragment來回跳轉(zhuǎn)
public interface RegisterTrigger {
void triggerView(Fragment fragment);
}
2.當(dāng)前Activity繼承RegisterTrigger
public class RegisterActivity extends Activity implements RegisterTrigger{
private Fragment mCurFragment;//表示當(dāng)前Fragment
}
3.在當(dāng)前Acticity中復(fù)寫triggerView方法
@Override
public void triggerView(Fragment fragment) {
//重新賦值當(dāng)前正在顯示的Fragment
mCurFragment = fragment;
//切換顯示
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.lay_container, fragment)
.commit();
}
4.在Fragment1中執(zhí)行跳轉(zhuǎn)方法
首先得到RegisterTrigger
private RegisterTrigger trigger;
@Override
public void onAttach(Context context) {
super.onAttach(context);
trigger = (RegisterTrigger) context;
}
然后執(zhí)行跳轉(zhuǎn)
RegisterPersonageFragment fragment = new RegisterPersonageFragment();
trigger.triggerView(fragment);
如果帶參數(shù)的話
RegisterPersonageFragment fragment = new RegisterPersonageFragment ();
Bundle args=new Bundle();
args.putString("mobile",mobile);
fragment.setArguments(args);
trigger.triggerView(fragment);
以上方法就已經(jīng)完成跳轉(zhuǎn),如果帶參數(shù)的話,需要在要跳轉(zhuǎn)的Fragment中接收參數(shù)
5.在Fragment2接收跳轉(zhuǎn)時(shí)的參數(shù)
@Override
protected void initArgs(Bundle bundle) {
super.initArgs(bundle);
if (getArguments() != null) {
mobile = getArguments().getString("mobile");
Application.showToast(mobile);
}
}
二、A(activity)跳轉(zhuǎn)到B(activity)下的Fragment(含帶參數(shù))
第一種:B(Activity)下Viewpager的Fragment,A(activity)把值傳給B(activity)下的Fragment。
A(activity)中:
Intent intent = new Intent();
intent.putExtra("title", title);
intent.setClass(context, B(activity).class);
context.startActivity(intent);
B(activity)中:
//接收參數(shù)
title = getIntent().getStringExtra("title");
//把參數(shù)傳給fragment
B(Fragment) fragment = new B(Fragmnt)();
Bundle args = new Bundle();
args.putString("html", html);
fragment.setArguments(args);
fragments.add(fragment);
如果想設(shè)置指定顯示Viewpager下的fragment
viewPager.setCurremtItem(page); //即可指定到某個(gè)界面
持續(xù)更新中………
總結(jié)
以上是生活随笔為你收集整理的android 界面跳转封装,【Android】Fragment跳转系列的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 仪表盘刻度调整_惊艳了我的仪表盘 那些年
- 下一篇: android sina oauth2.