私は1つのアクティビティにボタンを動的にロードし、次のアクティビティがロードされるボタンのonClick()イベントをロードしています。以下のアクティビティではボタンに関する詳細を表示したいと思います。つまり、ユーザーがQUESTをクリックするとQUESTの詳細のみが表示され、ユーザーがSRLをクリックするとSRLの詳細のみが表示されます。私は得ることができません。誰も助けることができますか?ボレーを使用してIDに関連する特定の詳細を表示
public void loadDescriptionList() {
String url = "https://diagnostic.hisaabwaale.in/AndroidAppController/testGet";
final ProgressDialog progressDialog = new ProgressDialog(TestDetails.this);
progressDialog.setMessage("Loading Data...");
progressDialog.show();
StringRequest stringRequest = new StringRequest(Request.Method.POST, url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
progressDialog.dismiss();
try {
obj = new JSONObject(response);
heroArray = obj.getJSONArray("list");
for (int i = 0; i < heroArray.length(); i++) {
heroObject = heroArray.getJSONObject(i);
TDescription hero = new TDescription(heroObject.getString("test_code"), heroObject.getString("test_description"), heroObject.getString("test_price"));
heroList.add(hero);
}
adapter = new ListViewAdapter(heroList, getApplicationContext());
listView.setAdapter(adapter);
} catch (JSONException e) {
progressDialog.dismiss();
e.printStackTrace();
Toast.makeText(getApplicationContext(), "No Records Found", Toast.LENGTH_LONG).show();
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
progressDialog.dismiss();
Toast.makeText(getApplicationContext(), "No Records Found", Toast.LENGTH_LONG).show();
}
}) {
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<String, String>();
params.put("franchise", franchise);
return params;
}
};
RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.add(stringRequest);
}
バックエンドAPI
function testGet(){
$response = array();
$franchise = $this->input->post('franchise');
$result = $this->testModel->testlist($franchise);
if($result != 0){
$response['status'] = 200;
$response['list'] = $result;
}else{
$response['status'] = 201;
$response['msg'] = 'No Records';
}
echo json_encode($response);
}
このモデル
public function testlist($franchise)
{
$query = "SELECT t.id, t.franchise_id, t.test_code, t.test_description, t.test_price
FROM `".$this->table."` as t
WHERE t.franchise_id = ".$franchise;
$result = $this->db->query($query);
if($result->num_rows() > 0){
return $result->result();
}else{
return 0;
}
}
LOGCAT
12-22 00:24:34.459 22632-22632/hisaabwaale.in.hisaabwaale E/MultiWindowProxy: getServiceInstance failed!
であります
12-22 00:24:37.574 22632-22632 /? E/MultiWindowProxy:getServiceInstanceが失敗しました! 12-22 00:24:37.696 22632-22632 /? E/MultiWindowProxy:getServiceInstanceが失敗しました! 12-22 00:24:38.637 22632-22863 /? E/NativeCrypto:ssl = 0xacc22880 cert_verify_callback x509_store_ctx = 0x9f0f9e4c arg = 0x0 12-22 00:24:38.637 22632-22863 /? E/NativeCrypto:ssl = 0xacc22880 cert_verify_callbackを呼び出すverifyCertificateChain authMethod = ECDHE_RSA 12-22 00:24:40.080 22632-22664 /? E/Surface:getSlotFromBufferLocked:未知のバッファ:0xa0921dc0 12-22 00:24:40.111 22632-22632 /? E /エラー:Failedorg.json.JSONException:インデックス2が範囲外です。[0..2) 12-22 00:24:40.255 22632-22664 /? E/Surface:getSlotFromBufferLocked:未知のバッファ:0xa0921640 12-22 00:24:55.343 22632-22632 /? E/MultiWindowProxy:getServiceInstanceが失敗しました! 12-22 00:24:55.452 22632-23164 /? E/Volley:[125517] NetworkDispatcher.run:未処理の例外java.lang.NullPointerException:ヌルオブジェクト参照で仮想メソッド 'int java.lang.String.length()'を呼び出そうとしました java.lang.NullPointerException: nullオブジェクトリファレンスで仮想メソッド 'int java.lang.String.length()'を呼び出します。 libcore.net.UriCodec.encode(UriCodec.java:132) at java.net.URLEncoder.encode(URLEncoder.java: 57) at com.android.volley.Request.encodeParameters(Request.java:484) at com.android.volley.Request.getBody(Request.java:470) at com.android.volley.toolbox.HurlStack。 addBodyIfExists(HurlStack.java:253) at com.android.volley.toolbox.HurlStack.setConnectionParametersForRequest(HurlStack.java:227) com.android.volley.NetworkDispatcherでcom.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:97) でcom.android.volley.toolbox.HurlStack.performRequest(HurlStack.java:107) で。実行(NetworkDispatcher.java:114) 12-22 00:24:55.742 22632-22664 /?あなたは次のアクティビティ開くとき0xa0921aa0
まあQUESTとSRLのためのIDは何ですか?あなたのAPIをPostmanでテストしたところ、SRLまたはQUESTを送信すると返信500の返答が返ってきました。私が整数を送ると '{" status ":201、msg": "No Records"} '私はPHPに慣れていませんが、あなたのJavaコードはうまく見えます。いずれかのQUEST/SRLボタンをクリックすると 'franchise = the_right_ID'となり、なぜ返事を返さないのか分かりません。 –
@Stephen Lightcap:表示するレコードが表示されていません。 idは8と12です。 –
@Aparana 'onErrorResponse'でVolley Errorを出力できますか? –