android - 使用 recyclerview 在 Fragment 中滑动错误
问题描述
我收到消息错误 错误:无法访问 Fragment Glide.with(this).from(TH).into(thumb); ^ 找不到 android.support.v4.app.Fragment 的类文件
这是我的适配器:
public class HomeAdapter extends RecyclerView.Adapter < HomeAdapter.ViewHolder > {
Context context;
List < HomeClass > data;
TextView Movie,
desc,
year,
rating,
genre;
ImageView thumb;
public HomeAdapter(List < HomeClass > data, Context context) {
this.context = context;
this.data = data;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.home_rv, parent, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
final HomeClass geter1 = data.get(position);
String MN, DS, YR, RT, GN, TH;
MN = geter1.getMoviename();
DS = geter1.getDesc();
YR = geter1.getYear();
RT = geter1.getRating();
GN = geter1.getGenre();
TH = geter1.getImage_Movie();
Movie.setText(MN);
desc.setText(DS);
year.setText(YR);
rating.setText(RT);
genre.setText(GN);
Glide.with(this).from(TH).into(thumb);
}
@Override
public int getItemCount() {
return data.size();
}
public class ViewHolder extends RecyclerView.ViewHolder {
public ViewHolder(View itemView) {
super(itemView);
Movie = (TextView) itemView.findViewById(R.id.textMovieName);
desc = (TextView) itemView.findViewById(R.id.textDescMovie);
year = (TextView) itemView.findViewById(R.id.textYearMovie);
rating = (TextView) itemView.findViewById(R.id.textRatingMovie);
genre = (TextView) itemView.findViewById(R.id.textGenreMovie);
thumb = (ImageView) itemView.findViewById(R.id.imgMovie);
}
}
}
这是家庭片段:
公共类 HomeFragment 扩展片段 {
private RecyclerView recyclerView;
RecyclerView.Adapter adapter;
List<HomeClass> HClass;
String URL_Data="http://192.168.1.25/insoft/vod.php";
RequestQueue reqQue;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View v = inflater.inflate(R.layout.fragment_home, container, false);
recyclerView=v.findViewById(R.id.rvvod);
recyclerView.setHasFixedSize(true);
recyclerView.setLayoutManager(new LinearLayoutManager(v.getContext()));
HClass=new ArrayList<>();
loadurl();
return v;
}
private void loadurl() {
JsonArrayRequest stringRequest=new JsonArrayRequest(URL_Data, new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray response) {
getvalue(response);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
reqQue = Volley.newRequestQueue(getActivity());
reqQue.add(stringRequest);
}
private void getvalue(JSONArray array) {
for (int i = 0; i < array.length(); i++) {
HomeClass movielist = new HomeClass();
JSONObject json = null;
try {
json = array.getJSONObject(i);
movielist.setMoviename(json.getString("Name"));
movielist.setDesc(json.getString("Desc"));
movielist.setGenre(json.getString("Genre"));
movielist.setRating(json.getString("Rating"));
movielist.setYear(json.getString("Year"));
movielist.setImage_Movie(json.getString("Thumb"));
} catch (JSONException e) {
e.printStackTrace();
}
HClass.add(movielist);
}
adapter = new HomeAdapter(HClass, getActivity());
recyclerView.setAdapter(adapter);
}
}
我尝试将图像从 json 显示到 recyclerview,但出现错误。
如何解决该错误?
解决方案
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
final HomeClass geter1 = data.get(position);
String MN, DS, YR, RT, GN, TH;
MN=geter1.getMoviename();
DS=geter1.getDesc();
YR=geter1.getYear();
RT=geter1.getRating();
GN=geter1.getGenre();
TH=geter1.getImage_Movie();
Movie.setText(MN);
desc.setText(DS);
year.setText(YR);
rating.setText(RT);
genre.setText(GN);
//change your code like this
Glide.with(context).from(TH).into(thumb);
}
推荐阅读
- html - 如何使用flexbox在两个div之间垂直间隔?
- java - e.printStackTrace(System.out) 和 e.printStackTrace() 有什么区别?
- python-3.x - 管理具有不同优先级的不同 Python 脚本
- javascript - 编辑可调整大小 div 的脚本
- c - 为什么我的输入功能无法正确输入?
- sql - 在 Redshift 中处理嵌套的 case 语句
- java - 为什么这个 do/while 循环和 if 语句不起作用?
- logstash - 在 Logstash 中聚合过滤器?
- google-apps-script - 如何将主 Google 工作表中的新值附加到具有条件的多个工作表上
- html - 圣杯技术 - 左容器浮动问题