Java 未使用片段连接RecycleServiceAdapter

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

我正试图使用recyclerview从数据库中检索数据以将其分割,但我收到错误recyclerview:未连接适配器;跳过布局

我试图在getactivity和getcontext之间切换,但仍然没有解决任何问题


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