Bouton.setBackground(Drawable arrière-plan) throws NoSuchMethodError
Je me suis mise en œuvre d'une méthode simple pour ajouter un Button
à un LinearLayout
par programmation.
Quand j'invoque le setBackground(Drawable arrière-plan), la méthode suivante Error
est jeté:
java.lang.NoSuchMethodError: android.widget.Button.setBackground
Mon addNewButton méthode:
private void addNewButton(Integer id, String name) {
Button b = new Button(this);
b.setId(id);
b.setText(name);
b.setTextColor(color.white);
b.setBackground(this.getResources().getDrawable(R.drawable.orange_dot));
//llPageIndicator is the Linear Layout.
llPageIndicator.addView(b);
}
OriginalL'auteur Eslam Yousef Mohammed | 2013-09-01
Vous devez vous connecter pour publier un commentaire.
Vous pourriez être en test sur une API de bas niveau 16 (Jelly Bean).
La setBackground méthode est disponible uniquement à partir de l'API de niveau à partir.
Je voudrais essayer avec setBackgroundDrawable (obsolète) ou setBackgroundResource si c'est le cas.
Par exemple:
édité ma réponse: essayez
setBackgroundResource
.j'ai mis android:minSdkVersion="9" dans mon manifeste, pourquoi ne pas eclipse m'avertir à ce sujet?
OriginalL'auteur Mena
Pour créer un fond homogène de Vue, vous pouvez créer un drawable ressource de type de forme, et de l'utiliser avec le setBackgroundResource.
red_background.xml
Activité:
Mais ce sera assez mauvais, plat et hors de l'endroit. Si vous voulez une couleur de bouton qui ressemble à un bouton, que vous pouvez concevoir vous-même (coins arrondis, accident vasculaire cérébral, dégradé...) ou rapide et sale solution est d'ajouter une PorterDuff filtre sur le bouton arrière-plan du:
OriginalL'auteur Andras Balázs Lajtha
Depuis, après Android 16 , le setBackgroundDrawable est obsolète, j'ai suggéré à vérifié avant de définir le code
vous avez besoin pour vérifier la version actuelle d'Android aussi
OriginalL'auteur Sruit A.Suk
Vous ne pouvez pas utiliser
setBackground()
.Cette méthode peut ne pas être disponible dans votre Android.
OriginalL'auteur Nerd Dragon