簡體   English   中英

Android Fragment Backstack不顯示

[英]Android Fragment Backstack not showing

我正在開發一個應用程序,其中每個選項卡中都有選項卡和片段。 我可以在啟動時顯示我的列表視圖的情況下工作,當我單擊列表中的名稱時,它會轉到下一個片段,但是當我單擊“后退”按鈕時,它不會返回到列表視圖,只會出現一個空白屏幕。 我敢肯定,這是一個簡單的答案,我已經發布了一些代碼段,如果需要更多代碼段,請告訴我。 謝謝您的幫助。

片段活動

public class HomeStackActivity extends FragmentActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.fragmentstackctivity);

    // add initial fragment, do not add to back stack, no transition animation
    addFragment(new MyCommentActivity(), false, FragmentTransaction.TRANSIT_NONE);
}

void addFragment(Fragment fragment, boolean addToBackStack, int transition) {
    FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
    ft.replace(R.id.fragment1, fragment);
    ft.setTransition(transition);
    if (addToBackStack)
        ft.addToBackStack(null);
    ft.commit();
}


public void onBackPressed() {
    FragmentManager manager = getSupportFragmentManager();
    if (manager.getBackStackEntryCount() > 0)
        getSupportFragmentManager().popBackStack();
    else
        finish();
}

}

名稱點擊

public class nameOnClickListener implements OnClickListener{
        private int position;
        public nameOnClickListener(int position){
            this.position=position;
        }
        @Override
        public void onClick(View v) {

            HashMap<String, String> update = new HashMap<String, String>();
            update = commentList.get(position); 
            Log.d("Testing Click", update.get(MyCommentActivity.KEY_UID));

            SharedPreferences sp = PreferenceManager
                    .getDefaultSharedPreferences(getActivity());
            SharedPreferences.Editor edit = sp.edit();
            edit.putString("profile_id", update.get(MyCommentActivity.KEY_UID));
            edit.putString("profile_type", update.get(MyCommentActivity.KEY_TYPE));
            edit.commit();

            addFragment(new UserProfileActivity(), true, FragmentTransaction.TRANS

更改:

ft.replace(R.id.fragment1, fragment);

至:

ft.add(R.id.fragment1, fragment);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM