在我使用 LayoutInflater 膨胀父布局后,我在 ImageView 上遇到了 NullReferenceExcpetion 的一些问题。正如您在下面的布局 XML 中所见,我有两个 TextView 和一个 ImageView。我可以很好地引用两个 TextView,但不能引用 ImageView。
当我深入了解膨胀布局的子视图的属性时,我看到两个 TextView 的mID属性都是正确的,但是 ImageView 的mID是 -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");