在较低的Android版本上运行应用程序时出现nullPointerException

时间:2013-12-08 16:30:23

标签: java android

我的应用程序在我的三星Galaxy Nexus上使用Android 4.3正常运行但是当我尝试在旧版本的设备上运行它(确切地说是Android 2.3.6)时,它应该在加载某个活动时崩溃。

12-08 16:50:10.873: E/AndroidRuntime(10200): Caused by: java.lang.NullPointerException
12-08 16:50:10.873: E/AndroidRuntime(10200):    at si.dvanadva.evanturist.PlaceItemActivity.onCreate(PlaceItemActivity.java:259)

这是我在午餐活动时得到的logcat错误。这是类文件中的第259行:

reklamniBannerImgView.setOnClickListener(this);

但它没有错!我有一些其他onClickListener设置完全相同的方式,它工作得很好。我是这样做的:

ImageButton xml代码:

<ImageView
            android:id="@+id/image_view_reklamni_banner"
            android:layout_below="@+id/text_view_item_description"
            android:layout_width="wrap_content"
            android:layout_height="@dimen/image_view_item_image_height"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:layout_marginBottom="5dp"
            android:layout_centerHorizontal="true"
            />

在java中获取它:

//global variable
private ImageView reklamniBannerImgView;

//this is in onCreate
reklamniBannerImgView = (ImageView) findViewById(R.id.image_view_reklamni_banner);
reklamniBannerImgView.setOnClickListener(this);

然后我有一个switch语句来处理点击:

case R.id.image_view_reklamni_banner:
        Intent spletnaStranTrbovlje = new Intent(Intent.ACTION_VIEW);
        spletnaStranTrbovlje.setData(Uri.parse("http://www.trbovlje.si/"));
        startActivity(spletnaStranTrbovlje);
        break;

这一切在Android的更高版本上运行良好,但是当我在Android版本2.3.6的设备上运行时,它会在使用此按钮的活动被加载之前崩溃。 在我按下按钮之前!

我真的很困惑,因为之前没有发生这样的事情。知道可能是什么问题吗?

2 个答案:

答案 0 :(得分:0)

可能你有两个不同的布局文件夹,一个用于v11&gt;并且对于v11&lt; (例如)低api级别的布局不包含ImageView

答案 1 :(得分:0)

尝试在活动的onWindowFocusChanged(boolean)中执行此操作