在启动画面中找不到线性布局 - 空指针异常

时间:2012-02-05 04:54:47

标签: android android-layout

当我运行我的应用程序时,我的启动画面很难延伸,因此我尝试了一个解决方案,在这里的一个问题上手动调整抖动并清除,如此

@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_splash);
        BitmapFactory.Options myOptions = new BitmapFactory.Options();
        myOptions.inDither = true;
        myOptions.inScaled = false;
        myOptions.inPreferredConfig = Bitmap.Config.ARGB_8888;
        myOptions.inDither = false;
        myOptions.inPurgeable = true;
        Bitmap preparedBitmap = BitmapFactory.decodeResource(getApplication()
                .getResources(), R.drawable.bg, myOptions);
        Drawable background = new BitmapDrawable(preparedBitmap);
        ((LinearLayout) findViewById(R.id.layout_main))
                .setBackgroundDrawable(background);

我没有设置引起不良拉伸的飞溅图像,而是设置背景和配置选项。 我的xml看起来像这样

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" 
    android:id="@+id/layout_main">
</LinearLayout>

我尝试了Clean + rebuild + refresh,但我仍然在

处得到NullPointerException
((LinearLayout) findViewById(R.id.layout_main))
                .setBackgroundDrawable(background);

无法找到线性布局。有任何想法吗?救命啊!

1 个答案:

答案 0 :(得分:0)

我通过在布局中添加一些像imageview和src = @null这样的虚拟内容来解决这个问题。否则布局不会膨胀。之后,我做了我正在做的事情,瞧。道德:为了想要以编程方式找到的布局而膨胀 - 添加一些虚拟内容而不仅仅是布局(我不知道官方文档说的是什么,但这是我在我的案例中发现的)