Member 10627743 Ответов: 1

Как открыть/отобразить дочерний элемент viewflipper при нажатии кнопки из другого действия


я хотел бы открыть viewflippers chiild от нажатия кнопки в другом действии
в упражнении а у меня есть две кнопки с событием щелчка, а в упражнении б у меня есть viewflipper
с двумя макетами с разными идентификаторами. когда я нажимаю на кнопку 1 в действии а, я хочу, чтобы она
показать дочерний элемент 1 (макет 1 @+id/first) в действии B то же самое относится и к кнопке 2. смотрите мой код ниже

Деятельность
button1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent i=new Intent(ActivityA.this, ActivityB.class);
                //code to pick and display certian or particular layout goes here
                startActivity(i);
            }
        });

        button2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent i1=new Intent(ActivityA.this, ActivityB.class);
                //code to pick and display certian or particular layout goes here
                startActivity(i1);
            }
        });


XML B и Activity B

<ViewFlipper

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:id="@+id/viewFlipper"

    android:layout_alignParentTop="true"

    android:layout_alignParentLeft="true"

    android:layout_alignParentStart="true">
 
    <LinearLayout

        android:orientation="vertical"

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:id="@+id/first">
 
        <!-- more views -->
 
    </LinearLayout>
 
    <LinearLayout

        android:orientation="vertical"

        android:layout_width="fill_parent"

        android:layout_height="fill_parent"

        android:id="@+id/second">
 
        <!-- more views -->
 
    </LinearLayout>
 
    <LinearLayout

        android:orientation="vertical"

        android:layout_width="fill_parent"

        android:layout_height="fill_parent"

        android:id="@+id/third">
 
        <!-- more views -->
         
    </LinearLayout>
</ViewFlipper>


ViewFlipper viewFlipper = (ViewFlipper) findViewById(R.id.viewFlipper);
// 2 is the index for the 3rd child
viewFlipper.setDisplayedChild(2);
// or when you don't know the index but the ID of the view
viewFlipper.setDisplayedChild( viewFlipper.indexOfChild(findViewById(R.id.third)) );


пожалуйста помогите

Что я уже пробовал:

искали переполнение стека

1 Ответов

Рейтинг:
2

JesalMithani

Ваш приведенный выше код выглядит нормально, но если он все еще не работает, то сделайте одну вещь.
Раздуйте viewpager из действия A и отметьте его как общедоступный. Вы можете использовать его для действия B, так как вы отметили его как общедоступное.

Вы также можете играть с видимостью Исчезнувшей и снова показанной при нажатии кнопок.