Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/195.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 想在帖子里移动获取方法,截击_Java_Android_Class_Android Volley - Fatal编程技术网

Java 想在帖子里移动获取方法,截击

Java 想在帖子里移动获取方法,截击,java,android,class,android-volley,Java,Android,Class,Android Volley,我想在不再次调用URL的情况下,将位于POST请求的onResponse中的GET方法移到内部(if),因为一旦用户POST edittext php文件将回显json结果,该结果将显示在活动中的listview中,所以如果在其他方法中再次调用URL,将不会显示任何内容,我该如何做 public class supportActivity extends AppCompatActivity implements View.OnClickListener{ private EditText ti

我想在不再次调用URL的情况下,将位于POST请求的onResponse中的GET方法移到内部(if),因为一旦用户POST edittext php文件将回显json结果,该结果将显示在活动中的listview中,所以如果在其他方法中再次调用URL,将不会显示任何内容,我该如何做

public class supportActivity extends AppCompatActivity implements View.OnClickListener{

private EditText ticketsupport;
private Button button;
private List<supportContent> con = new ArrayList<supportContent>();
private ListView supportlist;
private supportAdapter adapter;
private String ticketinput;
private String url = "http://10.0.3.2/aalm/getticket.php";
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_support);

     ticketsupport = (EditText)findViewById(R.id.insertticketnumber);
     supportlist = (ListView)findViewById(R.id.supportlistview);
     adapter = new supportAdapter(this, con);
    supportlist.setAdapter(adapter);
     button = (Button)findViewById(R.id.buttonsupprt);

    button.setOnClickListener(this);


}

private void inquiry() {

         ticketinput = ticketsupport.getText().toString().trim();

    StringRequest stringRequest1 = new StringRequest(Request.Method.POST, url,
            new Response.Listener<String>() {

                @Override
                public void onResponse(String response) {
                    if (response.trim().equals("responseticket")) {
                        showTicket();

                    } else {
                        Toast.makeText(supportActivity.this, "Check the number please", Toast.LENGTH_SHORT).show();
                    }
                }
            }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            Toast.makeText(supportActivity.this, "something wrong" , Toast.LENGTH_SHORT).show();
        }
    }) {

        @Override
    protected Map<String,String> getParams() throws AuthFailureError{
            Map<String,String> map = new HashMap<String,String>();
            map.put("ticknumber", ticketinput);
            return map;
        }
    };

    RequestQueue requestQueue1 = Volley.newRequestQueue(getApplicationContext());
    requestQueue1.add(stringRequest1);

}
private void showTicket(){
        RequestQueue requestQueue2 = Volley.newRequestQueue(this);

    JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.GET, url,
            new Response.Listener<JSONObject>() {
                @Override
                public void onResponse(JSONObject response) {

                    try {
                        JSONArray jsonArray = response.getJSONArray("responseticket");
                        for (int i = 0; i < jsonArray.length(); i++) {
                            JSONObject ticket = jsonArray.getJSONObject(i);
                            supportContent support = new supportContent();

                            support.setTicketnumber(ticket.getString("ticketnumber"));
                            support.setSubject(ticket.getString("subject"));
                            support.setResponse(ticket.getString("response"));

                            con.add(support);

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

            Log.e("error", "Volley");
        }
    }
    );
    requestQueue2.add(jsonObjectRequest);
}
@Override
public void onDestroy(){
    super.onDestroy();
}
 @Override
    public void onClick(View view){
        inquiry();
 }
}
公共类supportActivity扩展了AppCompatActivity实现了View.OnClickListener{
私人编辑文本票证支持;
私人按钮;
private List con=new ArrayList();
私有列表视图支持列表;
专用适配器;
私有字符串输入;
专用字符串url=”http://10.0.3.2/aalm/getticket.php";
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u支持);
ticketsupport=(EditText)findViewById(R.id.insertticketnumber);
supportlist=(ListView)findViewById(R.id.supportlistview);
适配器=新的supportAdapter(此,con);
supportlist.setAdapter(适配器);
按钮=(按钮)findViewById(R.id.ButtonSuppt);
setOnClickListener(此);
}
私人无效查询(){
ticketinput=ticketsupport.getText().toString().trim();
StringRequest stringRequest1=新的StringRequest(Request.Method.POST,url,
新的Response.Listener(){
@凌驾
公共void onResponse(字符串响应){
if(response.trim()等于(“responsecticket”)){
showTicket();
}否则{
Toast.makeText(supportActivity.this,“请检查号码”,Toast.LENGTH_SHORT.show();
}
}
},new Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
Toast.makeText(supportActivity.this,“有问题”,Toast.LENGTH_SHORT.show();
}
}) {
@凌驾
受保护的映射getParams()引发AuthFailureError{
Map Map=newhashmap();
地图输入(“ticknumber”,ticketinput);
返回图;
}
};
RequestQueue requestQueue1=Volley.newRequestQueue(getApplicationContext());
requestQueue1.add(stringRequest1);
}
私家票{
RequestQueue requestQueue2=Volley.newRequestQueue(this);
JsonObjectRequest JsonObjectRequest=新的JsonObjectRequest(Request.Method.GET,url,
新的Response.Listener(){
@凌驾
公共void onResponse(JSONObject响应){
试一试{
JSONArray JSONArray=response.getJSONArray(“responsegicket”);
for(int i=0;i
您正在从POST请求中获得回复,您不需要另一个GET请求,只需简单地处理响应…或者我误解了什么?只需将整个http事件扔到一个方法中,然后再次调用该方法,并更改参数以运行getevent@Jasz我不明白,你能再解释一下吗?