2014-06-12 6 views
0

Bonjour j'ai une application android je veux créer quelque chose comme un bouton de verrouillage pour éviter l'erreur cliquez sur un bouton dans l'application j'utilise cette méthode et il fonctionne très bien en désactivant tous les boutons j'aime mais je peux pas le réactiver à nouveau après tout ce que je besoin est que lorsque je presse le bouton de verrouillage à nouveau il réactiver button2 et le bouton 3 nouveauAndroid Bouton Désactiver et activer

Ceci est le code d'activité

import android.support.v7.app.ActionBarActivity; 
import android.app.ActionBar; 
import android.os.Bundle; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.widget.Button; 
import android.view.View; 
public class AboutActivity extends ActionBarActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_about); 
     ActionBar actionBar = getActionBar(); 
     actionBar.setDisplayHomeAsUpEnabled(true); 
     addListenerOnButton(); 
} 
    Button button; 
    Button button2; 
    Button button3; 
    private void addListenerOnButton() { 
     // TODO Auto-generated method stub 
     button = (Button) findViewById(R.id.lock); 

     button.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 
       button2.setEnabled(false); //button which u want to disable 
       button3.setEnabled(false); //button which u want to disable 
      } 
     }); 
     button2 = (Button) findViewById(R.id.button2); 

     button2.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 

      } 
     }); 
     button3 = (Button) findViewById(R.id.button3); 

     button3.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 

      } 
     }); 
    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 

     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.about, menu); 
     return true; 
    } 

    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     // Handle action bar item clicks here. The action bar will 
     // automatically handle clicks on the Home/Up button, so long 
     // as you specify a parent activity in AndroidManifest.xml. 
     int id = item.getItemId(); 
     if (id == R.id.action_settings) { 
      return true; 
     } 
     return super.onOptionsItemSelected(item); 
    } 

} 

Ceci est la mise en page code

<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:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context="com.lock.AboutActivity$PlaceholderFragment" > 

    <TextView 
     android:id="@+id/textView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/hello_world" /> 

    <Button 
     android:id="@+id/lock" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/textView1" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="70dp" 
     android:text="Button" /> 

    <Button 
     android:id="@+id/button3" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignRight="@+id/button2" 
     android:layout_below="@+id/button2" 
     android:layout_marginTop="66dp" 
     android:enabled="true" 
     android:text="Button" /> 

    <Button 
     android:id="@+id/button2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignLeft="@+id/lock" 
     android:layout_centerVertical="true" 
     android:enabled="true" 
     android:text="Button" /> 

</RelativeLayout> 

Répondre

1

Vous pouvez utiliser isEnabled() et utiliser l'opérateur "not" pour verrouiller et déverrouiller. Si ce n'est pas activé, cela va activer et vice versa.

button.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 
       button2.setEnabled(!button2.isEnabled()); //button which u want to disable 
       button3.setEnabled(!button3.isEnabled()); //button which u want to disable 
      } 
     }); 
+0

votre travail d'édition comme charme merci – mrlucfier

Questions connexes