2011-02-23 4 views
9

J'essaie de modifier la couleur de la mise en page par programmation, mais je ne peux pas la modifier.Changement de la couleur de mise en page par programme

Également en essayant de déboguer l'application ne aide pas, il n'y avait pas de message lié à mon TAG.

l'application s'est arrêtée après la mise en page initialement colorée.

package com.test.intentdemo; 

import android.app.Activity; 
import android.graphics.Color; 
import android.os.Bundle; 
//import android.os.SystemClock; 
import android.widget.RelativeLayout; 
import android.util.*; 
import java.lang.Thread; 

public class intentDemo extends Activity { 
    /** Called when the activity is first created. */ 
    RelativeLayout lLayout; 
    public static final String TAG="MyActivity"; 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     lLayout = (RelativeLayout) findViewById(R.layout.main); 
     if (Log.isLoggable(TAG,0)) 
     { 
      Log.e(TAG,"ERROR BEFORE"); 
      Log.i(TAG,"INFO BEFORE"); 
      Log.d(TAG,"DEBUG BEFORE"); 

       lLayout.setBackgroundColor(Color.parseColor("#000000")); 
       //SystemClock.sleep(2000); 
       try 
       { 
       Thread.currentThread(); 
       Thread.sleep(2000); 
       } 
       catch (Exception e) 
       { 
       //e.message(); 
       } 


      Log.e(TAG,"ERROR AFTER"); 
      Log.i(TAG,"INFO AFTER"); 
      Log.d(TAG,"DEBUG AFTER"); 
     } 
    } 
} 

Toute aide concernant ce sujet serait utile.

Répondre

18
lLayout = (RelativeLayout) findViewById(R.layout.main); 

Ceci est faux. findViewById attend un ID de View. Alors, donnez un ID à RelativeLayout, par exemple:

<RelativeLayout 
    android:id="@+id/the_id" 

Puis:

lLayout = (RelativeLayout) findViewById(R.id.the_id); 

import android.app.Activity; 
import android.graphics.Color; 
import android.os.Bundle; 
import android.widget.RelativeLayout; 

public class intentDemo extends Activity { 
    public static final String TAG="MyActivity"; 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     RelativeLayout lLayout = (RelativeLayout) findViewById(R.layout.the_id); 
     lLayout.setBackgroundColor(Color.parseColor("#000000")); 
    } 
} 
+0

@Cristian: Merci de remarquer l'erreur, le problème persiste. Pouvez-vous recommander quelque chose d'autre? Merci, Sid – Sid

+0

Juste pour être sûr ... J'ai ajouté un code ci-dessus ... pourriez-vous le tester et me dire si cela fonctionne ou non? – Cristian

+1

peut-être le si ne vous laisse pas y arriver? Si c'est le cas, essayez de voir pourquoi cela se produit. Dans ce cas, ce n'était pas votre question ... vous avez demandé comment changer la couleur de fond, et maintenant vous savez comment le faire, n'est-ce pas? – Cristian

8
RelativeLayout lLayout = (RelativeLayout) findViewById(R.layout.the_id);  
lLayout.setBackgroundColor(getResources().getColor(R.color.green_color)); 
Questions connexes