Dans mon cas, lorsque j'essaie de définir l'activation du bouton à l'aide de BUTTON1.setEnabled (false);

Donc l'émulateur ne démarre pas l'apk ...

Je veux créer un menu de niveau de jeu avec quelques boutons Activer et le reste des boutons Désactiver .comme chaque bouton est un niveau de jeu .. donc si mon drapeau entier a la valeur 5, les cinq premiers boutons de niveaux doivent être actifs et le reste des boutons être désactiver .... mais je ne pouvais même pas définir un seul bouton désactiver ... s'il vous plaît, aidez-moi s'il me manque un concept avec des boutons ... où changer leur état dans OnResume () ou dans OnCreate ();

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
Button b1=(Button)findViewById(R.id.button);

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

}
}
-3
Shackless_shan 20 avril 2017 à 17:19

3 réponses

Meilleure réponse

Vous devez ajouter b1 = (Button) findViewById(R.id.button) dans votre méthode onCreate().

Essayez ceci:

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {

    Button b1;

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

        b1 = (Button) findViewById(R.id.button);
        b1.setEnabled(false);
    }
}
0
Ferdous Ahamed 20 avril 2017 à 15:18

Donc pour définir les boutons Activer / Désactiver, il faut déclarer les boutons dans OnCreate ... sinon, il ne trouvera pas la vue du bouton et affichera les erreurs ...

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;  

public class MainActivity extends AppCompatActivity {

Button b1;

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

    b1 = (Button) findViewById(R.id.button);
    b1.setEnabled(false);
}

}

Est la bonne façon ............. merci à tous

0
Shackless_shan 20 avril 2017 à 15:32

Je n'ai pas d'environnement de développement Android à portée de main pour le moment, mais je pourrais imaginer qu'il a quelque chose à faire, la vue (et donc le bouton) n'étant pas disponible au moment de l'initiation de l'attribut b1. Pourriez-vous essayer ce qui suit:

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {


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

        getButton1().setEnabled(false);

    }

    private Button getButton1() {
        return (Button)findViewById(R.id.button);
    }
}
0
Hans Hohenfeld 20 avril 2017 à 14:57