0

Je me demandais pourquoi un bouton je fait pour afficher/cacher mes mises en page ne fonctionne qu'une fois, à savoir d'abord mes mises en page sont GONE, puis lorsque je clique sur un bouton, ils sont VISIBLE, mais plus tard, quand je clique sur le même bouton, leur point de vue n'est pas remis à GONE.show-hide bouton à bascule pour la mise en page dans Android

/** 
* Method to show/hide buttons, on button click. 
* @param v 
*/ 
public void hideOrDisplayOptionIconsButton(View v) 
{ 
    // Hide layouts if VISIBLE 
    if(mMapViewsButtonsLinearLayout.getVisibility() == View.VISIBLE 
     && mLocationButtonsLinearLayout.getVisibility() == View.VISIBLE) 
    { 
     mMapViewsButtonsLinearLayout.setVisibility(View.GONE); 
     mLocationButtonsLinearLayout.setVisibility(View.GONE); 
    } 
    // Show layouts if they're not VISIBLE 
    else 
    { 
     mMapViewsButtonsLinearLayout.setVisibility(View.VISIBLE); 
     mLocationButtonsLinearLayout.setVisibility(View.VISIBLE); 
    } 
} 
+0

ce qui est le paramètre « v » dans la méthode?, Je ne vous vois pas en l'utilisant dans le code. – rahul

+1

Etes-vous sûr que votre Bouton ne soit pas couvert par les mises en page quand vous les montrez? C'est-à-dire, êtes-vous sûr que votre clic n'est pas bloqué? –

+1

Ajout au commentaire de Mike, vous pouvez vous connecter à la presse bouton pour vérifier si la pression du bouton est mise à feu ou non. – RamithDR

Répondre

0

Voici un échantillon qui devrait travailler pour vous

import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.LinearLayout; 

public class MainActivity extends Activity { 

    private LinearLayout mMapViewsButtonsLinearLayout=null; 
    private LinearLayout mLocationButtonsLinearLayout=null; 


    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     mMapViewsButtonsLinearLayout= (LinearLayout) findViewById(R.id.mMapViewsButtonsLinearLayout); 
     mLocationButtonsLinearLayout= (LinearLayout) findViewById(R.id.mLocationButtonsLinearLayout); 

    } 

    public void hideOrDisplayOptionIconsButton(View v) 
    { 
     // Hide layouts if VISIBLE 
     if(mMapViewsButtonsLinearLayout.getVisibility() == View.VISIBLE 
       && mLocationButtonsLinearLayout.getVisibility() == View.VISIBLE) 
     { 
      mMapViewsButtonsLinearLayout.setVisibility(View.GONE); 
      mLocationButtonsLinearLayout.setVisibility(View.GONE); 
     } 
     // Show layouts if they're not VISIBLE 
     else 
     { 
      mMapViewsButtonsLinearLayout.setVisibility(View.VISIBLE); 
      mLocationButtonsLinearLayout.setVisibility(View.VISIBLE); 
     } 
    } 
} 

Voici la mise en page

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 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:orientation="vertical" 
    tools:context="com.hideshow.MainActivity"> 


    <LinearLayout 
     android:id="@+id/mMapViewsButtonsLinearLayout" 
     android:orientation="horizontal" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 

     <Button 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="New Button" 
      android:id="@+id/button" /> 

     <Button 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="New Button" 
      android:id="@+id/button2" /> 
    </LinearLayout> 

    <LinearLayout 
     android:id="@+id/mLocationButtonsLinearLayout" 
     android:orientation="horizontal" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 

     <Button 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="New Button" 
      android:id="@+id/button3" /> 

     <Button 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="New Button" 
      android:id="@+id/button4" /> 
    </LinearLayout> 

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

     <Button 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Hide or Show" 
      android:id="@+id/hideorshow" 
      android:onClick="hideOrDisplayOptionIconsButton" /> 
    </LinearLayout> 
</LinearLayout> 
+1

Merci pour la réponse. :) J'ai fait la même chose dans mon projet avant de poster la question. D'une certaine manière, cela a fonctionné après que j'ai nettoyé mon projet et l'ai reconstruit. –