Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将信息从RecyclerView传递到其他活动_Java_Android - Fatal编程技术网

Java 如何将信息从RecyclerView传递到其他活动

Java 如何将信息从RecyclerView传递到其他活动,java,android,Java,Android,我如何使用Array和MySQL将信息从recyclerView传递到另一个活动,我搜索了不同的方法,但我做不到,但我尝试以下方法: private void ReadDataFromDB() { JsonObjectRequest jreq = new JsonObjectRequest(Request.Method.GET, url, new com.android.volley.Response.Listener<JSONObject>() {

我如何使用Array和MySQL将信息从recyclerView传递到另一个活动,我搜索了不同的方法,但我做不到,但我尝试以下方法:

private void ReadDataFromDB() {
    JsonObjectRequest jreq = new JsonObjectRequest(Request.Method.GET, url,
            new com.android.volley.Response.Listener<JSONObject>() {

                @Override
                public void onResponse(JSONObject response) {
                    try {
                        int success = response.getInt("success");
                        if (success == 1) {
                            JSONArray ja = response.getJSONArray("rutas");
                            for (int i = 0; i < ja.length(); i++) {

                                JSONObject jobj = ja.getJSONObject(i);
                                HashMap<String, String> item = new HashMap<String, String>();
                                // item.put(ITEM_ID, jobj.getString(ITEM_ID));
                                item.put(ITEM_RUTA,
                                        jobj.getString(ITEM_RUTA));
                                item.put(ITEM_VEH,
                                        jobj.getString(ITEM_VEH));

                                Item_List.add(item);
                            }
                            String[] from = {ITEM_RUTA, ITEM_VEH};
                            int[] to = {R.id.i_ruta, R.id.i_veh};

                            adapter = new SimpleAdapter(
                                    getApplicationContext(), Item_List,
                                    R.layout.message_list_row, from, to);

                            mRecyclerView.setAdapter(mAdapter);

                            mRecyclerView.setOnClickListener(new onMessageRowClicked() );

                        }
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }

                }
            }, new com.android.volley.Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
        }
    });
    AppController.getInstance().addToRequestQueue(jreq);
}
问题或错误在下面的行中显示给我

无法在MessageRowClicked上解析符号


RecyclerItemClickListener.java

public class RecyclerItemClickListener implements 

RecyclerView.OnItemTouchListener {
private OnItemClickListener mListener;

public interface OnItemClickListener {
    public void onItemClick(View view, int position);

    public void onLongItemClick(View view, int position);
}

    GestureDetector mGestureDetector;

    public RecyclerItemClickListener(Context context, final RecyclerView recyclerView, OnItemClickListener listener) {
        mListener = listener;
        mGestureDetector = new GestureDetector(context, new GestureDetector.SimpleOnGestureListener() {
            @Override
            public boolean onSingleTapUp(MotionEvent e) {
                return true;
            }

            @Override
            public void onLongPress(MotionEvent e) {
                View child = recyclerView.findChildViewUnder(e.getX(), e.getY());
                if (child != null && mListener != null) {
                    mListener.onLongItemClick(child, recyclerView.getChildAdapterPosition(child));
                }
            }
        });
    }

    @Override public boolean onInterceptTouchEvent(RecyclerView view, MotionEvent e) {
        View childView = view.findChildViewUnder(e.getX(), e.getY());
        if (childView != null && mListener != null && mGestureDetector.onTouchEvent(e)) {
            mListener.onItemClick(childView, view.getChildAdapterPosition(childView));
            return true;
        }
        return false;
    }

    @Override public void onTouchEvent(RecyclerView view, MotionEvent motionEvent) { }

    @Override
    public void onRequestDisallowInterceptTouchEvent (boolean disallowIntercept){}
}
//使用方法

mRecyclerView.addOnItemTouchListener(
                new RecyclerItemClickListener(this, file_list ,new RecyclerItemClickListener.OnItemClickListener() {
                    @Override public void onItemClick(View view, int position) {
                       // write code here for single click
    Message message = messages.get(i);
    message.setRead(true);
    messages.set(i, message);
    mAdapter.notifyDataSetChanged();

    Toast.makeText(getApplicationContext(), "Read: hola" + message.getParadas() + message.getVehiculo(), Toast.LENGTH_SHORT).show();

    Intent saag_intent = new Intent(ge_MainActivity.this,
            ge_Traker_maps.class);
    saag_intent.putExtra("ruta", Item_List.get(i));
    saag_intent.putExtra("vehiculo", Item_List.get(i));
    startActivity(saag_intent);
                    }
                    @Override public void onLongItemClick(View view, int position) {        
                      // write code here for long click
                        }
                    })
        );
public class RecyclerItemClickListener implements 

RecyclerView.OnItemTouchListener {
private OnItemClickListener mListener;

public interface OnItemClickListener {
    public void onItemClick(View view, int position);

    public void onLongItemClick(View view, int position);
}

    GestureDetector mGestureDetector;

    public RecyclerItemClickListener(Context context, final RecyclerView recyclerView, OnItemClickListener listener) {
        mListener = listener;
        mGestureDetector = new GestureDetector(context, new GestureDetector.SimpleOnGestureListener() {
            @Override
            public boolean onSingleTapUp(MotionEvent e) {
                return true;
            }

            @Override
            public void onLongPress(MotionEvent e) {
                View child = recyclerView.findChildViewUnder(e.getX(), e.getY());
                if (child != null && mListener != null) {
                    mListener.onLongItemClick(child, recyclerView.getChildAdapterPosition(child));
                }
            }
        });
    }

    @Override public boolean onInterceptTouchEvent(RecyclerView view, MotionEvent e) {
        View childView = view.findChildViewUnder(e.getX(), e.getY());
        if (childView != null && mListener != null && mGestureDetector.onTouchEvent(e)) {
            mListener.onItemClick(childView, view.getChildAdapterPosition(childView));
            return true;
        }
        return false;
    }

    @Override public void onTouchEvent(RecyclerView view, MotionEvent motionEvent) { }

    @Override
    public void onRequestDisallowInterceptTouchEvent (boolean disallowIntercept){}
}
mRecyclerView.addOnItemTouchListener(
                new RecyclerItemClickListener(this, file_list ,new RecyclerItemClickListener.OnItemClickListener() {
                    @Override public void onItemClick(View view, int position) {
                       // write code here for single click
    Message message = messages.get(i);
    message.setRead(true);
    messages.set(i, message);
    mAdapter.notifyDataSetChanged();

    Toast.makeText(getApplicationContext(), "Read: hola" + message.getParadas() + message.getVehiculo(), Toast.LENGTH_SHORT).show();

    Intent saag_intent = new Intent(ge_MainActivity.this,
            ge_Traker_maps.class);
    saag_intent.putExtra("ruta", Item_List.get(i));
    saag_intent.putExtra("vehiculo", Item_List.get(i));
    startActivity(saag_intent);
                    }
                    @Override public void onLongItemClick(View view, int position) {        
                      // write code here for long click
                        }
                    })
        );