2016-09-11 75 views
0

我正在做一個簡單的應用程序顯示一個按鈕的圖像,並與另一個按鈕隱藏。按鈕功能運行良好,當我點擊一次顯示和隱藏,但每一次點擊後,都停止響應。請幫忙這裏是代碼: -隱藏和顯示按鈕的圖像不工作隨機android

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