0

私は Java コーディングの初心者で、現在 Android プロジェクトのコーディングを行っています。今、私は問題に直面しています。取得したデータがテキストビューに表示されません。

私の計画は、インテントから車両番号を使用して詳細を取得することです。その後、詳細がテキストビューに表示されます。確認したところ、必要な情報が php に表示されています。これは、問題が発生しているのは Java であることを意味します。しかし、私は間違いを見つけることができません。私にアドバイスするか、いくつかの例を教えてください。ありがとうございました。

package com.example.maptesting;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.JsonObjectRequest;
import com.android.volley.toolbox.Volley;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;


public class NextActivity extends Activity {

TextView vehicle_no;
TextView resultSessionID;
TextView resultPartial;

RequestQueue requestQueue;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_next);


    vehicle_no = (TextView) findViewById(R.id.vehicle_no);
    Intent intent = getIntent();
    String veh_no = intent.getStringExtra("vehicleno");
    vehicle_no.setText(veh_no);

    requestQueue = Volley.newRequestQueue(getApplicationContext());

    String url = ("http://mp60.bas-mp.bus/testingtesting/showPartialDetails.php?vehicle_no=" + vehicle_no.getText().toString());
    JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, url, new Response.Listener<JSONObject>() {
        @Override
        public void onResponse(JSONObject response) {
            try {
                JSONArray students = response.getJSONArray("students");
                for (int i = 0; i < students.length(); i++) {
                    JSONObject parkingsession = students.getJSONObject(i);

                    String parkingsession_id = parkingsession.getString("parkingsession_id");

                    String datetime_start = parkingsession.getString("datetime_start");
                    String datetime_end = parkingsession.getString("datetime_end");
                    String duration = parkingsession.getString("duration");
                    String charges = parkingsession.getString("charges");

                    resultSessionID = (TextView) findViewById(R.id.parkingsessionID);
                    resultSessionID.append(parkingsession_id);

                    resultPartial = (TextView) findViewById(R.id.details1);
                    resultPartial.append("Session Start:"  + datetime_start + "\n"+
                                    "Session End:" + datetime_end + "\n"+
                                    "Duration:" + duration + "\n"+
                                    "Total Charges:" + charges + "\n");
                }


            } catch (JSONException e) {
                e.printStackTrace();
            }
        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {

        }
    });

    requestQueue.add(jsonObjectRequest);

}




}
4

1 に答える 1

2

append like を使用する代わりに

  resultSessionID = (TextView) findViewById(R.id.parkingsessionID);
                    resultSessionID.append(parkingsession_id);

                    resultPartial = (TextView) findViewById(R.id.details1);
                    resultPartial.append("Session Start:"  + datetime_start + "\n"+
                                    "Session End:" + datetime_end + "\n"+
                                    "Duration:" + duration + "\n"+
                                    "Total Charges:" + charges + "\n");

セットテキストを使用

 resultSessionID = (TextView) findViewById(R.id.parkingsessionID);
                    resultSessionID.setText(parkingsession_id);

                    resultPartial = (TextView) findViewById(R.id.details1);
                    resultPartial.setText("Session Start:"  + datetime_start + "\n"+
                                    "Session End:" + datetime_end + "\n"+
                                    "Duration:" + duration + "\n"+
                                    "Total Charges:" + charges + "\n");

データ、つまり vehicle_no をマップ値として送信してみてください。そのため、インテント エクストラとして取得した updateVehicleInfo() vehicle_no を渡します。

 public void updateVehicleInfo(final String veh_number)
    {

        StringRequest stringRequest = new StringRequest(Request.Method.POST, URL,
                new Response.Listener<String>() {
                    @Override
                    public void onResponse(String response) {
                        Toast.makeText(getContext(), "Update Response"+response, Toast.LENGTH_LONG).show();

                    }
                }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {

            }
        }){
            @Override
            protected Map<String, String> getParams() throws AuthFailureError {

                Map<String,String> params = new HashMap<>();
                params.put(KEY_VEHICLENO, veh_number);

                 return params;
            }
        };
        RequestQueue requestQueue = Volley.newRequestQueue(getContext());
        requestQueue.add(stringRequest);

    }
于 2015-12-29T12:04:23.203 に答える