Java 未使用片段连接RecycleServiceAdapter
我正试图使用recyclerview从数据库中检索数据以将其分割,但我收到错误recyclerview:未连接适配器;跳过布局 我试图在getactivity和getcontext之间切换,但仍然没有解决任何问题Java 未使用片段连接RecycleServiceAdapter,java,android,android-fragments,android-recyclerview,Java,Android,Android Fragments,Android Recyclerview,我正试图使用recyclerview从数据库中检索数据以将其分割,但我收到错误recyclerview:未连接适配器;跳过布局 我试图在getactivity和getcontext之间切换,但仍然没有解决任何问题 search.java searchadapter.java package com.example.lifetravel40; 导入android.content.Context; 导入android.support.v7.widget.RecyclerView; 导入and
search.java
searchadapter.java
package com.example.lifetravel40;
导入android.content.Context;
导入android.support.v7.widget.RecyclerView;
导入android.view.LayoutInflater;
导入android.view.view;
导入android.view.ViewGroup;
导入android.widget.ImageView;
导入android.widget.TextView;
导入com.bumptech.glide.glide;
导入java.util.List;
公共类SearchAdapter扩展
RecyclerView.适配器{
私有上下文mCtx;
私有列表搜索列表;
公共搜索适配器(上下文mCtx、列表搜索列表){
this.mCtx=mCtx;
this.searchList=searchList;
}
@凌驾
public SearchViewHolder onCreateViewHolder(视图组父级,int-viewType){
LayoutFlater充气机=LayoutFlater.from(mCtx);
视图=充气机。充气(R.layout.redirect\u item\u row,空);
返回新的SearchViewHolder(视图);
}
@凌驾
BindViewHolder上的公共无效(SearchViewHolder,int位置){
Search Search=searchList.get(位置);
滑翔带(mCtx)
.load(search.getActivity\u img())
.into(持有人活动);
holder.activity.setText(search.getActivity());
holder.description.setText(search.getDescription());
holder.origin.setText(search.getOrigin());
holder.destination.setText(search.getDestination());
holder.date_from.setText(search.getDate_from());
holder.date_to.setText(search.getDate_to());
holder.price.setText(search.getPrice());
}
@凌驾
public int getItemCount(){
返回searchList.size();
}
类SearchViewHolder扩展了RecyclerView.ViewHolder{
TextView活动、描述、来源、目的地、日期自、日期至,
价格;
图像查看活动;
公共SearchViewHolder(查看项目视图){
超级(项目视图);
activity=itemView.findViewById(R.id.activity);
description=itemView.findviewbyd(R.id.description);
origin=itemView.findviewbyd(R.id.origin);
destination=itemView.findviewbyd(R.id.destination);
date\u from=itemView.findviewbyd(R.id.date\u from);
date\u to=itemView.findviewbyd(R.id.date\u to);
price=itemView.findviewbyd(R.id.price);
activity\u img=itemView.findviewbyd(R.id.activity\u img);
}
}
}
重定向片段.java
package com.example.lifetravel40;
导入android.os.Bundle;
导入android.support.v4.app.Fragment;
导入android.support.v7.widget.LinearLayoutManager;
导入android.support.v7.widget.RecyclerView;
导入android.view.LayoutInflater;
导入android.view.view;
导入android.view.ViewGroup;
导入com.android.volley.Request;
导入com.android.volley.Response;
导入com.android.volley.VolleyError;
导入com.android.volley.toolbox.StringRequest;
导入com.android.volley.toolbox.volley;
导入org.json.JSONArray;
导入org.json.JSONException;
导入org.json.JSONObject;
导入java.util.ArrayList;
导入java.util.List;
/**
*一个简单的{@link Fragment}子类。
*/
公共类重定向片段扩展了片段{
公共重定向片段(){
//必需的空公共构造函数
}
私有静态最终字符串URL_Seacrch=”http://192.168.56.1/android/search.php";
列表搜索列表;
RecyclerView recylcerView;
@凌驾
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
//为该碎片膨胀布局
视图v=充气机。充气(R.layout.fragment\u重定向,容器,错误);
recylcerView=(RecyclerView)v.findViewById(R.id.RecyclerView);
LinearLayoutManager=newlinearlayoutmanager(getContext());
recylcerView.setLayoutManager(管理器);
recylcerView.setHasFixedSize(true);
searchList=newarraylist();
loadSearch();
返回v;
}
公共void loadSearch(){
StringRequest StringRequest=新的StringRequest(Request.Method.GET,URL\u Seacrch,new Response.Listener(){
@凌驾
公共void onResponse(字符串响应){
试一试{
JSONArray数组=新的JSONArray(响应);
对于(int i=0;i
我简直是疯了,因为我找不到哪里出了问题尝试将
适配器
设置为onCreateView()中的回收视图
@覆盖
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
//为该碎片膨胀布局
视图v=充气机。充气(R.layout.fragment_重定向,容器,fa
package com.example.lifetravel40;
public class Search {
private int search_id;
private String activity;
private String description;
private String activity_img;
private String origin;
private String destination;
private String date_from;
private String date_to;
private String price ;
public Search(String activity, String description, String activity_img, String origin, String destination, String date_from, String date_to, String price){
this.search_id = search_id;
this.activity = activity;
this.description = description;
this.activity_img = activity_img;
this.origin =origin;
this.destination = destination;
this.date_from = date_from;
this.date_to = date_to;
this.price = price;
}
public int getSearch_id(){
return search_id;
}
public String getActivity(){
return activity;
}
public String getDescription(){
return description;
}
public String getActivity_img(){
return activity_img;
}
public String getOrigin(){
return origin;
}
public String getDestination(){
return destination;
}
public String getDate_from(){
return date_from;
}
public String getDate_to(){
return date_to;
}
public String getPrice(){
return price;
}
}
package com.example.lifetravel40;
import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import com.bumptech.glide.Glide;
import java.util.List;
public class SearchAdapter extends
RecyclerView.Adapter<SearchAdapter.SearchViewHolder> {
private Context mCtx;
private List<Search> searchList;
public SearchAdapter(Context mCtx, List<Search> searchList){
this.mCtx = mCtx;
this.searchList = searchList;
}
@Override
public SearchViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
LayoutInflater inflater = LayoutInflater.from(mCtx);
View view = inflater.inflate(R.layout.redirect_item_row, null);
return new SearchViewHolder(view);
}
@Override
public void onBindViewHolder(SearchViewHolder holder, int position){
Search search = searchList.get(position);
Glide.with(mCtx)
.load(search.getActivity_img())
.into(holder.activity_img);
holder.activity.setText(search.getActivity());
holder.description.setText(search.getDescription());
holder.origin.setText(search.getOrigin());
holder.destination.setText(search.getDestination());
holder.date_from.setText(search.getDate_from());
holder.date_to.setText(search.getDate_to());
holder.price.setText(search.getPrice());
}
@Override
public int getItemCount(){
return searchList.size();
}
class SearchViewHolder extends RecyclerView.ViewHolder{
TextView activity, description, origin, destination, date_from, date_to,
price;
ImageView activity_img;
public SearchViewHolder(View itemView){
super(itemView);
activity = itemView.findViewById(R.id.activity);
description = itemView.findViewById(R.id.description);
origin = itemView.findViewById(R.id.origin);
destination = itemView.findViewById(R.id.destination);
date_from = itemView.findViewById(R.id.date_from);
date_to = itemView.findViewById(R.id.date_to);
price = itemView.findViewById(R.id.price);
activity_img = itemView.findViewById(R.id.activity_img);
}
}
}
package com.example.lifetravel40;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.android.volley.Request;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.List;
/**
* A simple {@link Fragment} subclass.
*/
public class redirectFragment <recyclerView> extends Fragment {
public redirectFragment() {
// Required empty public constructor
}
private static final String URL_Seacrch ="http://192.168.56.1/android/search.php";
List<Search> searchList;
RecyclerView recylcerView ;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View v = inflater.inflate(R.layout.fragment_redirect, container, false);
recylcerView =(RecyclerView) v.findViewById(R.id.recyclerView);
LinearLayoutManager manager = new LinearLayoutManager(getContext());
recylcerView.setLayoutManager(manager);
recylcerView.setHasFixedSize(true);
searchList = new ArrayList<>();
loadSearch();
return v;
}
public void loadSearch() {
StringRequest stringRequest = new StringRequest(Request.Method.GET, URL_Seacrch, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONArray array = new JSONArray(response);
for (int i = 0; i < array.length(); i++) {
JSONObject search = array.getJSONObject(i);
searchList.add(new Search(
search.getString("activity"),
search.getString("description"),
search.getString("activity_img"),
search.getString("origin"),
search.getString("destination"),
search.getString("date_from"),
search.getString("date_to"),
search.getString("price")
));
}
SearchAdapter adapter1 = new SearchAdapter(getContext(),searchList);
recylcerView.setAdapter(adapter1);
} catch (JSONException e) {
e.printStackTrace();
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
Volley.newRequestQueue(getActivity()).add(stringRequest);
}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View v = inflater.inflate(R.layout.fragment_redirect, container, false);
recylcerView =(RecyclerView) v.findViewById(R.id.recyclerView);
LinearLayoutManager manager = new LinearLayoutManager(getContext());
recylcerView.setLayoutManager(manager);
recylcerView.setHasFixedSize(true);
searchList = new ArrayList<>();
List<Search> searchList = new ArrayList<>()
SearchAdapter adapter1 = new SearchAdapter(getContext(),searchList);
recylcerView.setAdapter(adapter1);
loadSearch();
return v;
}
public class redirectFragment <recyclerView> extends Fragment
public class redirectFragment extends Fragment