java Android Udacity:ResourceException 0xfffffffff
This is the link to my app这是我从udacity website制作的一个项目
我正在使用回收器视图而不是列表视图。。。大多数情况下,其他一切都是一样的
单击工具栏上的向上按钮时会出现错误
它给出了一个
resource not found exception
但是,当按下物理返回按钮时,其他一切似乎都正常
我似乎无法找出错误的原因,找不到哪个资源,以及为什么它只在单击向上按钮而不单击后退按钮时出现
My CursorRecyclerViewAdapter
Context mContext;
public final static int View_Type_Today = 0 ;
public final static int View_Type_Future = 1 ;
public MyListCursorAdapter(Context context,Cursor cursor){
super(context,cursor);
mContext = context;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
int layoutID= -1;
if(viewType==View_Type_Today){
layoutID = R.layout.list_item_forecast_today;
}
else{
layoutID = R.layout.list_item_forecast;
}
View itemView = LayoutInflater.from(parent.getContext())
.inflate(layoutID, parent, false);
ViewHolder vh = new ViewHolder(itemView);
return vh;
}
@Override
public void onBindViewHolder(final ViewHolder holder, final Cursor cursor) {
boolean isMetric = Utility.isMetric(mContext);
holder.tvDate.setText(Utility.getFriendlyDayString(mContext,cursor.getLong(COL_WEATHER_DATE)));
holder.low.setText(Utility.formatTemperature(mContext,cursor.getDouble(COL_WEATHER_MIN_TEMP),isMetric));
holder.high.setText(Utility.formatTemperature(mContext,cursor.getDouble(COL_WEATHER_MAX_TEMP),isMetric));
holder.desc.setText(getDesc(cursor));
final int position = cursor.getPosition();
int viewType = getItemViewType(position);
switch (viewType) {
case View_Type_Today: {
// Get weather icon
int Res = Utility.getArtResourceForWeatherCondition(cursor.getInt(COL_WEATHER_CONDITION_ID));
holder.iv.setImageResource(Res);
break;
}
case View_Type_Future: {
// Get weather icon
holder.iv.setImageResource(Utility.getIconResourceForWeatherCondition(
cursor.getInt(activity_main_fragment.COL_WEATHER_CONDITION_ID)));
break;
}
}
holder.container.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
cursor.moveToPosition(position);
String locationSetting = Utility.getPreferredLocation(mContext);
Intent in = new Intent(mContext,DetailActivity.class).setData(WeatherContract.WeatherEntry
.buildWeatherLocationWithDate(locationSetting,cursor.getLong(COL_WEATHER_DATE)));
mContext.startActivity(in);
}
});
}
private String getDesc(Cursor cursor){
return cursor.getString(COL_WEATHER_DESC);
}
@Override
public int getItemViewType(int position) {
return (position ==0) ? View_Type_Today : View_Type_Future;
}
}
Viewholder类
TextView tvDate;
TextView high;
TextView low;
TextView desc;
View container;
ImageView iv;
public ViewHolder(View itemView) {
super(itemView);
desc= (TextView)itemView.findViewById(R.id.list_item_forecast_textview);
high= (TextView)itemView.findViewById(R.id.list_item_high_textview);
low= [enter image description here][1](TextView)itemView.findViewById(R.id.list_item_low_textview);
tvDate= (TextView)itemView.findViewById(R.id.list_item_date_textview);
iv = (ImageView) itemView.findViewById(R.id.list_item_icon);
container = itemView;
}
共 (0) 个答案