다음 활동이로드 된 버튼의 활동 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);
}
이 모델
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;
}
}
에게 로그 캣 인
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);
}
백엔드 API
12-22 00:24:34.459 22632-22632/hisaabwaale.in.hisaabwaale E/MultiWindowProxy: getServiceInstance failed!
01,235,
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 : null 객체 참조에서 가상 메소드 'int java.lang.String.length()'을 호출하려고 시도했습니다. java.lang.NullPointerException : 시도 NULL 객체 참조에서 가상 메소드 'int java.lang.String.length()'를 호출하십시오. at 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) 에서 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 /? E/표면은 : getSlotFromBufferLocked : 알 수없는 버퍼 : 당신이 다음 활동 열 때 0xa0921aa0
그럼 어떤 퀘스트와 SRL의 ID를입니까? 저는 Postman에서 API를 테스트했고 SRL 또는 QUEST를 보내면 응답 500 응답을 받았습니다. 정수를 보내면 {{ "status": 201, msg ":"No Records "}'나는 PHP에 익숙하지 않지만 Java 코드는 정상적으로 보인다. QUEST/SRL 버튼을 클릭하면'franchise = the_right_ID'가됩니다. 왜 응답을받지 말아야하는지 알 수 없습니다. –
@Stephen Lightcap : 표시 할 레코드가 표시되지 않습니다. ID는 8과 12입니다. –
@Aparana 발리 에러를'onErrorResponse'에 출력 할 수 있습니까? –