我在使用LayoutInflater來膨脹父級佈局後,在ImageView上的NullReferenceExcpetion時出現了一些問題。正如你可以在下面的佈局XML中看到的,我有兩個TextView和一個ImageView。我可以很好地引用兩個TextView,但不是ImageView。ImageView在膨脹的LinearLayout上拋出NullReferenceException
當我鑽到到的胖佈局的子視圖屬性,我看到,無論是TextViews的中期財產是正確的,但是的ImageView的中期是-1
會有人有任何想法爲什麼只有ImageView會成爲NULL?我相信這是愚蠢的,但我無法弄清楚。我也重新創建了佈局XML文件,清理了我的項目等。
在此先感謝!
佈局XML:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout android:layout_width="120px"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView android:id="@+id/weather_forecast_day"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:textStyle="bold"/>
<ImageView android:id="@+id/weather_forecast_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"/>
<TextView android:id="@+id/weather_forecast_temps"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:textStyle="bold"/>
</LinearLayout>
</LinearLayout>
代碼:
mForecastItem = (LinearLayout)View.inflate(WeatherLookup.this, R.layout.weather_forecast_item, null);
((ImageView)mForecastItem.findViewById(R.id.weather_forecast_icon))
.setImageDrawable(getResources().getDrawable(R.drawable.weather_sunny));
((TextView)mForecastItem.findViewById(R.id.weather_forecast_day))
.setText(forecast.DayOfWeek);
((TextView)mForecastItem.findViewById(R.id.weather_forecast_temps))
.setText(forecast.High + "\u2109/" + forecast.Low + "\u2109");
我打算建議您清理並重建您的項目。然後我發現你說你「清理了我的解決方案」。如果這並不意味着同樣的事情,那麼請嘗試清理並重建您的項目。 – 2011-06-01 03:48:27
是的,我的意思是項目。我已經更新了這個問題,謝謝你的支持。 – hooked82 2011-06-01 03:53:33