向ViewFlipper添加视图会导致java.lang.StackOverflowError

时间:2014-04-08 07:54:15

标签: java android android-layout layout

我想要一个带按钮的对话框

每当我点击一个特定的按钮时,我希望对话框能够翻转"并显示另一个布局。单击另一个按钮将返回到原始对话框的视图。

我尝试使用ViewFlipper,如下所示:

个XML:

send_feedback_dialog.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <TextView
            android:id="@+id/TextView01"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/feedback" />
    </LinearLayout>
...

social_actions_dialog.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/main_activity_root"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@android:color/transparent" >

    <ViewFlipper         
        android:id="@+id/viewFlipper"
        android:layout_width="300dp"
        android:layout_height="407dp"/>

    <RelativeLayout
        android:id="@+id/main_activity_card_face"
        android:layout_width="300dp"
        android:layout_height="407dp"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:background="@android:color/white"
        android:clickable="true"
        android:onClick="onCardClick"
        android:padding="5dp" >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:gravity="center"
            android:orientation="vertical" >

...

代码:

            final ViewFlipper viewFlipper = (ViewFlipper) mDialog
                    .findViewById(R.id.viewFlipper);

            View feedbackview = View.inflate(mContext,
                    R.layout.send_feedback_dialog, viewFlipper);

            // ((ViewGroup)
            // feedbackview.getParent()).removeView(feedbackview);
            // viewFlipper.addView(feedbackview);

            // View socialActions = View.inflate(mContext,
            // R.layout.social_actions_dialog, viewFlipper);

            // ((ViewGroup) socialActions.getParent())
            // .removeView(socialActions);
            // viewFlipper.addView(socialActions);





private void flipDialog(ViewFlipper viewFlipper,
                boolean isSocialActionsShown, AlphaAnimation alphaIn,
                AlphaAnimation alphaOut) {
            if (isSocialActionsShown) {
                isSocialActionsShown = false;

                viewFlipper.setInAnimation(alphaIn);
                viewFlipper.setOutAnimation(alphaOut);
                // Show the next Screen
                viewFlipper.showNext();
            } else {
                isSocialActionsShown = true;

                viewFlipper.setInAnimation(alphaIn);
                viewFlipper.setOutAnimation(alphaOut);
                viewFlipper.showPrevious();
            }
        }

我曾经得到java.lang.StackOverflowError,然后我评论了一些行,现在翻转已执行但没有任何变化。

我怎样才能使它正常运作?

在不同文件中组织对话框布局的正确方法是什么?

我试图在不同的文件中创建对话框,但它需要很多东西,也许最好将它用作内部类

0 个答案:

没有答案