【发布时间】:2011-06-01 03:44:39
【问题描述】:
在使用 LayoutInflater 膨胀父布局后,ImageView 上的 NullReferenceExcpetion 出现了一些问题。正如您在下面的布局 XML 中看到的,我有两个 TextView 和一个 ImageView。我可以很好地引用两个 TextView,但不能引用 ImageView。
当我深入了解膨胀布局的子视图的属性时,我看到两个 TextView 的 mID 属性都是正确的,但是 ImageView 的 mID 是-1
有人知道为什么只有 ImageView 出现为 NULL 吗?我确定这很愚蠢,但我就是想不通。我还重新创建了 Layout 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");
【问题讨论】:
-
我打算建议你清理并重建你的项目。然后我注意到你说你“清理了我的解决方案”。如果这并不意味着同样的事情,那么请尝试清理并重建您的项目。
-
是的,我的意思是项目。我已经更新了问题,感谢您的提醒。
标签: android imageview nullreferenceexception layout-inflater