背景变化使力关闭

时间:2013-03-10 09:57:58

标签: java android background drawable setbackground

我刚刚制作了一些代码,如果我的首选项中的复选框被选中,则将我的背景更改为Drawable,如果不是,则将其变为白色。代码在我的MainActivity中工作正常,但它在另一个Activity(LinksActivity)中给出了NullPointerException。任何人都可以纠正我吗?

package nl.plplpl.ccs;

import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Build;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.widget.LinearLayout;


public class LinksActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
}

@SuppressLint("NewApi")
@SuppressWarnings("deprecation")
@Override
protected void onResume() {
    LinearLayout linkslayout = (LinearLayout) findViewById(R.id.linkslayout);
    SharedPreferences prefs = PreferenceManager
            .getDefaultSharedPreferences(this);
    Boolean bg = prefs.getBoolean("background", false);
    if (bg){

        if (Build.VERSION.SDK_INT >= 16)
            linkslayout.setBackground(getResources().getDrawable(R.drawable.background));
        else
            linkslayout.setBackgroundDrawable(getResources().getDrawable(R.drawable.background));
    } else {
        linkslayout.setBackgroundResource(R.color.white);
    }
    super.onResume();
    }
}

1 个答案:

答案 0 :(得分:4)

您忘了设置活动内容。

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.layout_main);
}