Android:如何在方向更改后删除Facebook登录/ dialogFeed

时间:2013-12-11 09:26:40

标签: android facebook

在我的应用程序中,我可以通过自定义DialogFragment调用Facebook的登录名(或Dialogfeed)。

当我更改设备的方向时,我手动“重新显示”onConfigurationChanged()内的DialogFragment:

Fragment resultFrag = getSupportFragmentManager().findFragmentByTag("Mydialog");
        if (resultFrag != null) {
            DialogImage dialognew = DialogImage.newInstance(user,index,title,url);
            getSupportFragmentManager().beginTransaction().remove(resultFrag).commit();
            dialognew.show(getSupportFragmentManager(), "Mydialog");

        }   

Facebook登录(或Dialogfeed)时遇到问题,因为当我“重新显示”它时,DialogFragment不会留在它后面。

如何再次将DialogFragment置于Facebook登录(或Dialogfeed)后面?

或如何删除Facebook的登录(或Dialogfeed)(如果有)? (这是一个可能的解决方案,用户应重新启动......无所谓)

提前致谢

PD:我的应用程序的更多代码

当我的主要活动调用我的DialogFragment时:

FragmentManager ft = getSupportFragmentManager();
                    DialogImage dialog = DialogImage.newInstance(user,index,title,url);
                    dialog.show(ft, "Mydialog");

LogginButton登录FB里面的布局,它在我的DialogFragment中膨胀:

<com.facebook.widget.LoginButton
            xmlns:fb="http://schemas.android.com/apk/res-auto"
            android:id="@+id/login_shareButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="20dp"/>

在用户登录后,我使用以下命令处理LoginButton的操作:

share = (LoginButton) view.findViewById(R.id.shareButton);
        share.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
              publishFeedDialog();
            }
       });

然后,当我按下此按钮时,可以弹出登录窗口或feeddialog。

所以...我的问题是当我的应用程序打开DialogFragment和Login / DialogFeed并且我旋转我的设备(在onConfigurationChanged()中手动处理)并刷新DialogFragment到横向版本,然后Login / DialogFeed隐藏在后面DialogFragment

resume: - 主要活动调用DialogFragment          - &GT; DialogFramgent调用Login或FeedDialog(如果用户之前登录或未登录)          - &GT;旋转设备并将DialogFragment刷新为横向版本          - &GT; Login / FeedDialog被隐藏,我的应用程序显示我的DialogFragment          - &GT;我只能关闭DialogFragment来访问Login / FeedDialog          - &GT;如果我关闭它,我尝试使用Login / DialogFeed - &gt;错误

 E/AndroidRuntime(1362): java.lang.IllegalStateException: Fragment DialogImage{4170ad00} not attached to Activity

0 个答案:

没有答案