Ensemble RelativeLayout backgroundColor à l'aide de code java
J'ai
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/mainRelativeLayout">
et je suis en train de configurer l'arrière-plan à l'aide de code java (je ne veux pas le faire en xml) à l'aide de ce code dans onCreate
méthode:
View view = (View)findViewById(R.id.mainRelativeLayout);
view.setBackgroundColor(0xFF000000);
ou de ce code:
View view = (View)findViewById(R.id.mainRelativeLayout);
view.setBackgroundColor(android.R.color.white);
Cependant, il échoue à la première ligne quand il essaie de trouver l'id. Où est le problème? Grâce
début de mon onCreate() code:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getPrefs();
if (themePreference) {
setTheme(android.R.style.Theme_Light_NoTitleBar);
}else{
setTheme(android.R.style.Theme_Black_NoTitleBar);
}
setContentView(R.layout.main);
/*View view = (View)findViewById(R.id.mainRelativeLayout);
view.setBackgroundColor(0xFF000000);*/
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
this.submitBtn = (Button) this.findViewById(R.id.submitBtn);
this.cleanBtn = (Button) this.findViewById(R.id.clear_txt_Input);
this.inputQ = (EditText) this.findViewById(R.id.inputQ);
...
trace de la pile:
myApp [Android Application]
DalvikVM[localhost:8610]
Thread [<1> main] (Suspended (exception RuntimeException))
ActivityThread.performLaunchActivity(ActivityThread$ActivityClientRecord, Intent) line: 1768
ActivityThread.handleLaunchActivity(ActivityThread$ActivityClientRecord, Intent) line: 1784
ActivityThread.access$1500(ActivityThread, ActivityThread$ActivityClientRecord, Intent) line: 123
ActivityThread$H.handleMessage(Message) line: 939
ActivityThread$H(Handler).dispatchMessage(Message) line: 99
Looper.loop() line: 130
ActivityThread.main(String[]) line: 3835
Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) line: not available [native method]
Method.invoke(Object, Object...) line: 507
ZygoteInit$MethodAndArgsCaller.run() line: 847
ZygoteInit.main(String[]) line: 605
NativeStart.main(String[]) line: not available [native method]
Thread [<8> Binder Thread #2] (Running)
Thread [<7> Binder Thread #1] (Running)
- à quel point à l'intérieur de la méthode oncreate faites-vous appel à findviewbyid? pouvez-vous fournir votre code?
- J'ai ajouté dans le post
- Pouvez-vous fournir erreur trace de la pile?
- ajouté à la poste, mais je pense qu'il ne va pas aider...
Vous devez vous connecter pour publier un commentaire.
Avez-vous été en mesure d'exécuter votre application avec succès, sans changer la couleur de fond? Parce que j'ai été en mesure d'exécuter une version simplifiée de votre code sans erreurs. Je pense que votre erreur peut être ailleurs.
Avez-vous essayé d'utiliser
Project > Clean
pour nettoyer et reconstruire votre projet?Voici le code de test que j'ai utilisé.
L'Activité:
Et le XML: