2011-02-23 28 views
9

Düzen rengini ancak göreli bir düzende (Doğrusal düzen denenmiş, ancak değişmemiş) programlı olarak değiştirmeye çalışıyorum, ancak değiştiremiyorum.Düzen düzeninin düzen rengini programla değiştirin

Ayrıca uygulamada hata ayıklamaya çalışmak yardımcı olmaz, TAG'ımla ilgili bir mesaj yoktu. Düzgün başlangıçta renklendirildikten sonra uygulama hala devam etmiştir.

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"); 
     } 
    } 
} 

Bu konuyla ilgili herhangi bir yardımcı olabilir.

cevap

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

Bu yanlıştır. findViewById, bir View kimliğinin olmasını bekler. Dolayısıyla, örneğin, RelativeLayout bir kimlik vermek: Sonra

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

:

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: hata işaret için teşekkürler, sorun hala devam etmektedir. Başka bir şey önerebilir misin? Teşekkürler, Sid – Sid

+0

Sadece emin olmak için ... Yukarıdaki kodu ekledim ... test edip çalışıp çalışmadığını bana söyleyebilir misin? – Cristian

+1

belki de oraya varmanıza izin vermiyor mu? Bu durumda, neden olduğunu görmeye çalışın. Bu durumda, senin sorunun değil ... arka plan rengini nasıl değiştireceğini sordun ve şimdi nasıl yapacağını biliyorsun, değil mi? – Cristian

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