这是我在MainActivity读取控件的模式
我希望在Adapter文件中也可以读取主页面的数据
下面这张图是MainActivity中摄氏度转华氏度方法,在Adapter文件没法读取数据没法判断
下面这张图片是Adapter文件中没法判断的代码
package com.zhangyubin.myweather.adapter;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import com.zhangyubin.myweather.R;
import com.zhangyubin.myweather.model.DailyForecast;
import java.util.List;
public class DailyForecastAdapter extends RecyclerView.Adapter<DailyForecastAdapter.ViewHolder> {
private List<DailyForecast> dailyForecastList;
private Context context;
public DailyForecastAdapter(List<DailyForecast> dailyForecastList, Context context) {
this.dailyForecastList = dailyForecastList;
this.context = context;
}
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(context).inflate(R.layout.rlv_item_daily_forecast, parent, false);
ViewHolder holder = new ViewHolder(view);
return holder;
}
@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
DailyForecast dailyForecast = dailyForecastList.get(position);
holder.date.setText(dailyForecast.getDate());
holder.icon.setImageResource(context.getResources().getIdentifier(dailyForecast.getIcon(), "drawable", context.getPackageName()));
holder.temp.setText(dailyForecast.getTempMin() + "℃-" + dailyForecast.getTempMax() + "℃");
}
@Override
public int getItemCount() {
return dailyForecastList.size();
}
public class ViewHolder extends RecyclerView.ViewHolder {
TextView date;
ImageView icon;
TextView temp;
public ViewHolder(@NonNull View itemView) {
super(itemView);
date = itemView.findViewById(R.id.tv_daily_forecast_date);
icon = itemView.findViewById(R.id.img_daily_forecast_icon);
temp = itemView.findViewById(R.id.tv_daily_forecast_temp);
}
}
}