第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Android片段手柄后退按鈕按

Android片段手柄后退按鈕按

慕桂英3389331 2019-06-25 16:31:56
Android片段手柄后退按鈕按我的活動中有一些片段[1], [2], [3], [4], [5], [6]在Back Button Press中,如果當前活動片段為[2],則必須從[2]返回到[1],否則什么也不做。做這件事的最佳做法是什么?編輯:申請不得從[3][6]返回[2]。
查看完整描述

3 回答

?
炎炎設計

TA貢獻1808條經驗 獲得超4個贊

當您在片段之間轉換時,請調用addToBackStack()作為你的一部分FragmentTransaction:

FragmentTransaction tx = fragmentManager.beginTransation();tx.replace( R.id.fragment, new MyFragment() ).addToBackStack( "tag" ).commit();

如果需要更詳細的控件(例如,當某些片段可見時,您想要取消后退鍵),則可以設置OnKeyListener在片段的父視圖上:

//You need to add the following line for this solution to work; thanks skayredfragment.getView().setFocusableInTouchMode(true);fragment.getView().requestFocus();fragment.getView().setOnKeyListener( new OnKeyListener(){
    @Override
    public boolean onKey( View v, int keyCode, KeyEvent event )
    {
        if( keyCode == KeyEvent.KEYCODE_BACK )
        {
            return true;
        }
        return false;
    }} );


查看完整回答
反對 回復 2019-06-25
?
滄海一幻覺

TA貢獻1824條經驗 獲得超5個贊

我寧愿這樣做:

private final static String TAG_FRAGMENT = "TAG_FRAGMENT";private void showFragment() {
    final Myfragment fragment = new MyFragment();
    final FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
    transaction.replace(R.id.fragment, fragment, TAG_FRAGMENT);
    transaction.addToBackStack(null);
    transaction.commit();}@Overridepublic void onBackPressed() {
    final Myfragment fragment = (Myfragment) getSupportFragmentManager().findFragmentByTag(TAG_FRAGMENT);

    if (fragment.allowBackPressed()) { // and then you define a method allowBackPressed with the logic to allow back pressed or not
        super.onBackPressed();
    }}


查看完整回答
反對 回復 2019-06-25
?
手掌心

TA貢獻1942條經驗 獲得超3個贊

如果您覆蓋了片段視圖的Onkey方法,則需要:

    view.setFocusableInTouchMode(true);
    view.requestFocus();
    view.setOnKeyListener(new View.OnKeyListener() {
            @Override
            public boolean onKey(View v, int keyCode, KeyEvent event) {
                Log.i(tag, "keyCode: " + keyCode);
                if( keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_UP) {
                    Log.i(tag, "onKey Back listener is working!!!");
                    getFragmentManager().popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
                    return true;
                } 
                return false;
            }
        });


查看完整回答
反對 回復 2019-06-25
  • 3 回答
  • 0 關注
  • 469 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號