fragment之間利用廣播進(jìn)行跳轉(zhuǎn)

一、發(fā)送廣播

public class RegisterFragment extends Fragment {

? ??????????@Override

????????????public ViewonCreateView(LayoutInflater inflater, ViewGroup container,

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Bundle savedInstanceState)? {

? ??????????????????????// 發(fā)送廣播,跳轉(zhuǎn)到登錄頁面

????????????????????????getActivity().sendBroadcast(new Intent("com.login"));

????????????}

}

二、廣播注冊(cè),接受廣播

public class LoginActivity extends AppCompatActivity {

? ??????????@Override

????????????protected void onCreate(Bundle savedInstanceState) {

????????????????????????super.onCreate(savedInstanceState);

? ????????????????????? setContentView(R.layout.activity_login);

? ? ????????????????????//注冊(cè)廣播

? ????????????????????? MyReceiver myReceiver =new MyReceiver();

????????????????????? ? IntentFilter intentFilter =new IntentFilter();

? ? ????????????????????intentFilter.addAction("com.login");

? ? ????????????????????registerReceiver(myReceiver,intentFilter);

????????????}


????????class MyReceiver extends BroadcastReceiver {

????????????????@Override

? ? ????????????public void onReceive(Context context, Intent intent) {

????????????????????????if(intent.getAction() =="com.login"){

????????????????????????????????vpId.setCurrentItem(1);

? ? ? ? ????????????????}

????????????????}

????????}

}


actiity頁面跳轉(zhuǎn)fragment:

在一個(gè)activity中:

Intent intent = new Intent();

intent.setClassName("com.pac","com.pac.activity.MainActivity");

intent.putExtra("flag","one");

startActivity(intent);


在MainActivity中:

String flag = getIntent().getStringExtra("flag");

if(flag.equals("")){

? ? if(flag.equals("one")){

? ? ? ? viewpager.setCurrentItem(1);

????}

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容