列表视图中的JSON响应根据android中的特定条件显示

时间:2015-02-09 12:42:35

标签: java android xml

我需要在特定情况下显示项目。我做了那个。我有三个标签。在第一个标签A中,我显示项目列表,只有一个项目存在。但是当你移动时到标签B并再次来到标签A,我们可以看到两个项目。我需要避免重复项目显示,如何做到这一点,如果你有想法请帮助我,提前谢谢你  这是我的代码:

    List View list;
    ListViewAdapter adapter;
     ArrayList<String> title_array = new ArrayList<String>();
     ArrayList<String> title_array1 = new ArrayList<String>();
     ArrayList<String> title_array2 = new ArrayList<String>();
     ArrayList<String> title_array3 = new ArrayList<String>();
     ArrayList<String> title_array4 = new ArrayList<String>();
     ArrayList<String> title_array5 = new ArrayList<String>();
     ArrayList<String> title_array6 = new ArrayList<String>();
     String response_value;
     JSONObject result;
     JSONArray tokenList;
     JSONObject oj5;
     String appid;
     JSONObject oj;
     String fileid;
     HttpEntity entity;
     String status ,borrowername,coborrowername,loannumber,addrs1,city;

        @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.menu_frame, container, false);

        list = (ListView) rootView.findViewById(R.id.listview);

        // Pass results to ListViewAdapter Class


         new AsyncTaskParseJson().execute();
         return rootView;
        }

        // you can make this class as another java file so it will be separated from your main activity.
        public class AsyncTaskParseJson extends AsyncTask<String, String, String> {

            final String TAG = "AsyncTaskParseJson.java";

            // contacts JSONArray
            JSONArray dataJsonArr = null;

            @Override
            protected void onPreExecute() {}

            @Override
            protected String doInBackground(String... arg0) {
          // post the  specific format data to json url
                try {
                    HttpClient httpClient = new DefaultHttpClient();
                    JSONObject object = new JSONObject();
                    object.put("Username", "******");
                    object.put("Password", "******");
                    JSONObject jsonObject = new JSONObject();
                    jsonObject.put("Authentication", object);
                    jsonObject.put("RequestType", 4);
                    HttpPost postMethod = new HttpPost("*********");
                    postMethod.setEntity(new StringEntity(jsonObject.toString()));
                    postMethod.setHeader("Accept", "application/json");
                    postMethod.setHeader("Content-type", "application/json");
                    HttpResponse response = httpClient.execute(postMethod);
                 entity = response.getEntity();
                response_value = EntityUtils.toString(entity).toString();
                  //  Log.e(TAG, response_value);

                    if (entity != null) {
                        //Convert String to JSON Object        
                        JSONObject result = new JSONObject(response_value); 

                          JSONArray tokenList = result.getJSONArray("Files");


                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
                return response_value;
            }

            @Override
            protected void onPostExecute(String response_value) {
                 super.onPostExecute(response_value);
                 // dismiss the dialog after getting all products

                 try
                 {
                      if (entity != null) {
                      result = new JSONObject(response_value);
                      tokenList = result.getJSONArray("Files");
                        for(int i=0;i<=tokenList.length();i++)
                        {
                     oj = tokenList.getJSONObject(i);

                        String oj1 = oj.getString("FileID");
                        JSONObject oj12= (JSONObject) tokenList.getJSONObject(i).get("Borrower");
                        JSONObject oj2 = (JSONObject) tokenList.getJSONObject(i).get("CoBorrower");
                          JSONObject oj3 = (JSONObject) tokenList.getJSONObject(i).get("LoanDetails");
                         JSONObject oj4 = (JSONObject) tokenList.getJSONObject(i).get("PropertyAddress");
                       fileid = oj.getString("FileID");
                        borrowername = oj12.getString("FirstName");
                         coborrowername = oj2.getString("FirstName");
                    loannumber = oj3.getString("LoanNumber");
                    addrs1 = oj4.getString("Address1");
                     city = oj4.getString("City");
                       JSONArray orders = oj.getJSONArray("Orders");

                       for(int n=0;n<orders.length();n++){

                           JSONObject oj5 = orders.getJSONObject(n);

                            appid = oj5.getString("ApplicationOrderId");
                           String duedate = oj5.getString("DueDate");  
                           status = oj5.getString("Status"); 


                         //  Log.e(TAG,  appid +"/"+ appid1);
                           Log.e(TAG, appid + "/" + borrowername + "/"+ coborrowername + "/"+ addrs1 + "/"+ city + "/"+ loannumber + fileid );
                        if(status.equals("1")){
                               title_array3.add("New");
                               title_array1.add(addrs1 + " ,"+ city);
                                title_array.add(borrowername +" , "+coborrowername);
                                title_array2.add("Duedate");
                               // title_array3.add(status);
                                title_array4.add(appid);
                               title_array5.add(loannumber);
                                title_array6.add(fileid);

                            list.setOnItemClickListener(new OnItemClickListener() { 
                             @Override public void onItemClick(AdapterView<?> arg0, View arg1,int position, long arg3)
                             {

                                                                Intent first = new Intent(getActivity(),DetailView.class);
                                first.putExtra("fileid", fileid);
                                startActivity(first);

                                 } });  
                            }   
                        }



                        }
                      } 
                 }

             catch(Exception e)
             {
                 e.printStackTrace();
             }
              adapter = new ListViewAdapter(getActivity(), title_array,title_array1,title_array2,title_array3,title_array4,title_array5,title_array6);
             list.setAdapter(adapter);
        }
    }
}

0 个答案:

没有答案