title: LIstView Filter From Json Returns First Item Only Everytime
body: <p>I tried to get help on this post without any luck, I played around with code but still no luck. My list for example is as follows: Blue, Red, Purple from Json remote server.</p>
  
  <ol>
  <li>When I type B.. it returns Blue. OK</li>
  <li>When I type X.. it returns no results because no color matched "X". OK</li>
  <li>When I type R.. (or RE.. or RED) it returns Blue instead of returning Red.</li>
  </ol>
  
  <p>Conclusion - The code always returns the first item on the list when filtered.</p>
  
  <p>My code:</p>
  
  <p>JSON:</p>
  
  <pre><code>private class JsonReadTask extends AsyncTask&lt;String, Void, String&gt; {
  
          //Pending 01
         private ProgressDialog dialog = new ProgressDialog(getActivity());
  
          @Override
          protected void onPreExecute() {
              this.dialog.setMessage("Loading Rooms, Please Wait");
              this.dialog.show();
          }
  
        @Override
        protected String doInBackground(String... params) {
         HttpClient httpclient = new DefaultHttpClient();
         HttpPost httppost = new HttpPost(params[0]);
         try {
          HttpResponse response = httpclient.execute(httppost);
          jsonResult = inputStreamToString(response.getEntity().getContent()).toString();
         }
  
  
         catch (ClientProtocolException e) {
          e.printStackTrace();
         } catch (IOException e) {
          e.printStackTrace();
         }
         return null;
        }
  
        private StringBuilder inputStreamToString(InputStream is) {
         String rLine = "";
         StringBuilder answer = new StringBuilder();
         BufferedReader rd = new BufferedReader(new InputStreamReader(is));
  
         try {
          while ((rLine = rd.readLine()) != null) {
           answer.append(rLine);
          }
         }
  
         catch (IOException e) {
          // e.printStackTrace();
          Toast.makeText(getActivity(),"Error..." + e.toString(), Toast.LENGTH_LONG).show();
         }
         return answer;
        }
  
        @Override
        protected void onPostExecute(String result) {
  
              //Pending 02
              if (dialog.isShowing()) {
                  dialog.dismiss();
              }
  
          adapter.notifyDataSetChanged();
          try{  
         ListDrwaer(); //has ConnectionException (when it cannot reach server)
          }catch (Exception e){
              Toast.makeText(getActivity(), "Please check your connection..", Toast.LENGTH_LONG).show();
              }
        }
       }// end async task
  
       public void accessWebService() {
        JsonReadTask task = new JsonReadTask();
        // passes values for the urls string array
        task.execute(new String[] { "http://www.website.com/file.php?psortby="+sortby});
       }
  
       // build hash set for list view
       public void ListDrwaer() {
  
        try {
         JSONObject jsonResponse = new JSONObject(jsonResult);
         JSONArray jsonMainNode = jsonResponse.optJSONArray("room_info");
  
         for (int i = 0; i &lt; jsonMainNode.length(); i++) {
          JSONObject jsonChildNode = jsonMainNode.getJSONObject(i);
          String request_title = jsonChildNode.optString("Title");
          String request_members = jsonChildNode.optString("Members");
  
          request_title_replaced = request_title.replace("room_", "");
  
          arrRequest_Title.add(request_title_replaced);
          arrRequest_Members.add(request_members);
  
         }
        } catch (JSONException e) {
            System.out.println("Json Error Rooms" +e.toString());
            //Toast.makeText(getApplicationContext(), "No Rooms To Load", Toast.LENGTH_SHORT).show();
  
        }
  
  
        inputSearch.addTextChangedListener(new TextWatcher() {
  
              @Override
              public void onTextChanged(CharSequence cs, int arg1, int arg2, int arg3) {
                  // TODO Auto-generated method stub
  
                  adapter.getFilter().filter(cs); 
  
  
              }
  
              @Override
              public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,
                      int arg3) {
                  // TODO Auto-generated method stub
  
              }
  
              @Override
              public void afterTextChanged(Editable s) {
                  // TODO Auto-generated method stub
  
              }
          });
  
  }
  </code></pre>
  
  <p>Adapter:</p>
  
  <pre><code>class RoomsAdapter extends ArrayAdapter&lt;String&gt;
              {
  
               @Override
               public void clear() {
                   super.clear();
  
                   arrRequest_Title.clear();
                   arrRequest_Members.clear();
  
               }
  
  
  
                  Context context;
                  List&lt;String&gt; Request_Title;
                  List&lt;String&gt; Request_Members;
  
                  RoomsAdapter(Context c, List&lt;String&gt; Request_Title, List&lt;String&gt; Request_Members)
                  {
                      super(c, R.layout.activity_rooms_single, R.id.textTitle, Request_Title);
                      this.context=c;
                      this.Request_Title=Request_Title;
                      this.Request_Members=Request_Members;
                  }
  
  
                  @Override
                  public View getView(int position, View convertView, ViewGroup parent) {
                      // TODO Auto-generated method stub
  
                      View row=convertView;
                      if(row==null)
                      {
                      LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                      row = inflater.inflate(R.layout.activity_rooms_single, parent, false);      
                      }
  
                      TextView txtTitle = (TextView) row.findViewById(R.id.textTitle);
                      TextView txtMembers = (TextView) row.findViewById(R.id.textMembers);
  
                      txtTitle.setText(Request_Title.get(position));
                      txtMembers.setText(Request_Members.get(position));
  
                      return row;
                      }
                  }
  </code></pre>
  
  <p>Fragment Class:</p>
  
  <pre><code>public class Fragment_01_Rooms extends Fragment
  </code></pre>