2016-09-11 5 views
0

ボタンで画像を表示し、別のボタンで隠すための簡単なアプリを作っています。表示と非表示を一度クリックするとボタンの機能がうまく動作しますが、それぞれをクリックした後に応答が停止します。支援し、ここにコードされてください: -画像の非表示と表示ボタンがアンドロイドでランダムに動作していません

package com.androminor.funcolor; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.widget.ImageView; 

public class FunActivity extends AppCompatActivity { 
Button button; 
Button buttonHide; 
ImageView image; 
    @Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_fun); 
    buttonListener(); 
} 
public void buttonListener() { 

    image = (ImageView)findViewById(R.id.imageView); 
    button = (Button)findViewById(R.id.buttonChange); 
    buttonHide = (Button)findViewById(R.id.buttonHide); 

    button.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      image.setImageResource(R.drawable.golushapng); 
     } 
    }); 
    buttonHide.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      image.setVisibility(View.INVISIBLE); 
     } 
    }); 
} 
} 

-

<?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:layout_width="match_parent" 
android:layout_height="match_parent" 
android:id="@+id/relativelayout" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
android:paddingBottom="@dimen/activity_vertical_margin" 
tools:context="com.androminor.funcolor.FunActivity"> 

<Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/buttonChange" 
    android:text="@string/Golusha" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentStart="true" /> 

<ImageView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/imageView" 
    android:layout_alignParentBottom="true" 
    android:layout_centerHorizontal="true" 
    android:layout_marginBottom="108dp" /> 

<Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Hide" 
    android:id="@+id/buttonHide" 
    android:layout_alignTop="@+id/buttonChange" 
    android:layout_alignParentEnd="true" /> 
</RelativeLayout> 

答えて

0

あなたがhideButtonをクリックしたときに不可視に画像の可視性を設定しているためです。画像をもう一度見えるようにする必要があります。あなたの最初のボタンのonClickリスナーで

、次の行を追加します。

image.setVisibility(View.VISIBLE); 
+0

はmax59 @ありがとうございます。出来た。ちょうど画像がボタンのクリックだけで有効になっていれば、どうして私はsetVisibilityを使用しなければならないのだろうかと疑問に思っていました。私はまだそれを使用していない前にボタンが働いていた。 – AndroMinor

関連する問題