我的应用程序在我的三星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的设备上运行时,它会在使用此按钮的活动被加载之前崩溃。 在我按下按钮之前!
我真的很困惑,因为之前没有发生这样的事情。知道可能是什么问题吗?
答案 0 :(得分:0)
可能你有两个不同的布局文件夹,一个用于v11&gt;并且对于v11&lt; (例如)低api级别的布局不包含ImageView
答案 1 :(得分:0)
尝试在活动的onWindowFocusChanged(boolean)中执行此操作