2011-02-23 173 views
9

我试图以编程方式更改相对布局的布局颜色(尝试过线性布局但未更改),但无法更改它。以编程方式更改布局的布局颜色

也试图调试应用程序没有帮助,没有消息与我的TAG相关。

布局初始着色后,应用程序仍然静止不动。

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

有关这方面的任何帮助将有所帮助。

回答

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

这是错误的。 findViewById预计编号为View。所以,给一个ID RelativeLayout,例如:

<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:感谢您指出的错误,问题仍然存在。你能推荐别的吗?谢谢,Sid – Sid 2011-02-23 19:03:32

+0

只是可以肯定的...我在上面添加了一个代码...你可以测试它并告诉我它是否有效吗? – Cristian 2011-02-23 19:34:37

+1

也许如果不让你到达那里?如果是这样的话,试着看看为什么会发生。在那种情况下,这不是你的问题......你问如何改变背景颜色,现在你知道如何去做,不是吗? – Cristian 2011-02-23 20:04:33

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