0

レイアウトにボタンとイメージビューがあります。ボタンをクリックすると、imageview が表示されるはずです。つまり、アルゴリズムは次のとおりです。1) ボタンをクリック 2) imageview が表示される 3) その他のアクション。ただし、常にそのように機能するとは限りません。ボタンをクリックすると、ボタンが黄色のままで何もせず、例外もスローされないことがあります。画面のどこかをタップすると、ステップ 3 に進み、ボタンが再び選択解除されます。
このような奇妙な行動の理由は何でしょうか?

編集:ここに私のxmlがあります

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout android:layout_width="fill_parent"
    android:id="@+id/water_room_layout" android:layout_height="fill_parent"
    xmlns:android="http://schemas.android.com/apk/res/android">

    <ViewFlipper android:id="@+id/water_room_flipper"
        android:layout_width="fill_parent" android:layout_height="fill_parent">

        <include layout="@layout/water_room_wall1" android:id="@+id/first" />
        <include layout="@layout/water_room_wall2" android:id="@+id/second" />
        <include layout="@layout/water_room_wall3" android:id="@+id/third" />
        <include layout="@layout/water_room_wall4" android:id="@+id/fourth" />
    </ViewFlipper>

     <com.example.room.CustomView
        android:id="@+id/customView"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" />
</FrameLayout>

これは water_room_wall1.xml です。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/wall1Layout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/wall1withkey"
    tools:context=".FireRoomActivity" 
   >

        <ImageView
        android:id="@+id/zoomed_image"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/key_zoomed"
    android:visibility="gone"        />

                <Button
                    android:id="@+id/key"
                    android:layout_width="30dp"
                    android:layout_height="40dp"
                    android:layout_alignParentRight="true"
                    android:layout_alignParentTop="true"
                    android:layout_marginRight="150dp"
                    android:layout_marginTop="144dp"
                    android:onClick="zoomImage"
                     />

</RelativeLayout>

ここに私の活動があります:

int wall;
RelativeLayout parentLayout;
protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.water_room_view_flipper);
        wall=1;
        rl = (CustomView) findViewById(R.id.customView); 
        vf = (ViewFlipper) findViewById(R.id.water_room_flipper);

    }
public void zoomImage(View view)
    {
        parentLayout = (RelativeLayout)findViewById(R.id.first);

         if(view.getId()==R.id.key){ 
            zoomedImage= (ImageView)parentLayout.findViewById(R.id.zoomed_image);
            ((BitmapDrawable)parentLayout.getBackground()).getBitmap().recycle();
            //set Alpha
            Drawable wall1withoutkey = getResources().getDrawable(R.drawable.wall1withoutkey);
            wall1withoutkey.setAlpha(100);
            parentLayout.setBackgroundDrawable(wall1withoutkey);    
            parentLayout.findViewById(R.id.key).setVisibility(View.INVISIBLE);
            }
                   zoomedImage.setVisibility(View.VISIBLE);
         zoomedImage.setClickable(true);
         zoomedImage.setOnClickListener(this);}
}
4

0 に答える 0