2013-12-08 78 views
0

我的应用程序在我的三星Galaxy Nexus上与Android 4.3一起运行良好,但是当我尝试在旧版本(确切地说是Android 2.3.6)的设备上运行它时,活动应该加载。nullPointerException当在Android版本较低的版本上运行应用程序

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); 

但是没有错!我有一些其他onClickListeners设置完全相同的方式,它的效果很好。下面是我如何做到这一点:

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版本的设备上运行它时,它会崩溃e此按钮的活动甚至被加载。 在我甚至按下按钮之前!

我真的很困惑,因为之前没有这样的事情发生过。任何想法可能是什么问题?

+0

您是否设置了您将imageview添加到活动的相同布局? – Raghunandan

+0

@Raghunandan是的,我的 – Guy

+0

发布了您设置为活动和活动的xml创建完整 – Raghunandan

回答

0

也许你有两个不同的布局文件夹,一个是V11>和V11 <(例如)和布局低API级别不包含您的ImageView

+0

不,我其实只有一个布局文件夹,没有别的 – Guy

+0

等等,不,你说得对!我只有一个布局文件夹,但对于同一活动,我有两个不同的XML文件,一个用于旧版本,另一个用于较新版本。谢谢! – Guy

0

尝试在onWindowFocusChanged(布尔)做你的活动

相关问题