2013-12-08 77 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(布爾)做你的活動

相關問題