Программно изменить цвет макета макета

Я пытаюсь программно изменить цвет макета, но относительного макета (пробовал Линейный макет, но не изменился), но не могу его изменить.

Также попытка отладки приложения не помогает, не было сообщений, связанных с моей 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");
        }
    }
}

Ответ 1

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

Это неправильно. findViewById ожидает идентификатор a View. Итак, дайте идентификатор 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"));
    }
}

Ответ 2

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

Ответ 3

если вы хотите раскрасить код - позвольте сделать

your_layout_name.setBackgroundColor(Color.parseColor("Color Name"));

Пример:

linearLayoutInquiryYear.setBackgroundColor(Color.parseColor("#e3e3e3"));