Android Google Places JSON data in a list
===

I've got my Android App showing the closest place name by parsing the Google Places JSON data. Now I'm trying to get the whole list of the nearby place names to show. So right now, when you click the button, it displays "Bank of America" in the TextView (it's searching for the nearest bank). Now I'd like all the names to be displayed, not just the first one. What happens with the below code is the default text in the textview disappears when the button is clicked. My brain got flipped out by all the additional JSONObjects and JSONArrays. What am I doing wrong? Thanks for the help.

    	public class NewGPS5 extends Activity {
	
	private TextView ShowJSONData;
	private Button getBankBtn;
    Location currentLocation;
    double currLatitude;
    double currLongitude;
    String towers;
	String latString; 
	String longiString;
    String latString2 = "30.4335320";
    String longiString2 = "-97.9822360";
	String currlatitude;
	String currlongitude;
	HttpClient client;
	JSONObject jo2, jo3, jo4;
	String myPlaceKey = "MY_PLACE_KEY";

	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.mn_test10);
		ShowJSONData = (TextView) findViewById(R.id.http_tv);
		client = new DefaultHttpClient();
		
		//--- get Bank Button -----
		getBankBtn = (Button) findViewById(R.id.get_BankBtn);		
		getBankBtn.setOnClickListener(new View.OnClickListener() {
			
			@Override
			public void onClick(View v) {
				new ReadURL().execute("name");
				
			}
		});
		
		//--- END get Bank Button -----
		
		
	}
	
	public JSONObject showBanks() 
	throws ClientProtocolException, IOException, JSONException{
		
		String bcURL="https://maps.googleapis.com/maps/api/place/search/json?"
			+ "location=" + latString2 + "," + longiString2
			+ "&radius=15000&"
			+ "types=bank&sensor=false&key="
			+ myPlaceKey;
				
		HttpGet get = new HttpGet(bcURL.toString());
		HttpResponse r = client.execute(get);
		int status = r.getStatusLine().getStatusCode();
		if(status == 200){
		    HttpEntity e = r.getEntity(); 
		    String jsondata = EntityUtils.toString(e);		    
		    // -- this is the code I tweaked to try and show the list
		    // bankListItem string is never read. Am I returning the wrong thing?
		    jo2 = new JSONObject(jsondata);
		    jo3 = jo2.getJSONObject("showResults");
		    JSONArray jA1 = jo3.getJSONArray("result"); 
		    for (int i = 0; i < jA1.length(); i++) { 
		        jo4 = jA1.getJSONObject(i); 
		        String bankListItem = jo4.getString("id");
		    }
		    return jo3;
		    // -- END Tweak
		}else{
			Toast.makeText(NewGPS5.this, "oops", Toast.LENGTH_SHORT);
			return null;
		}
		
	}
	
	public class ReadURL extends AsyncTask<String, Integer, String>{

		@Override
		protected void onPostExecute(String result) {
			ShowJSONData.setText(result);
		}

		@Override
		protected String doInBackground(String... params) {
			try {
				jo2 = showBanks();
				return jo2.getString("name");
			} catch (ClientProtocolException e) {
				
				e.printStackTrace();
			} catch (IOException e) {
				
				e.printStackTrace();
			} catch (JSONException e) {
				
				e.printStackTrace();
			}
			
			
			return null;
		}
		
	}

	}

Here's where the methods show the first item (name). This code works:

    	public JSONObject showBanks() 
	throws ClientProtocolException, IOException, JSONException{
		
		String bcURL="https://maps.googleapis.com/maps/api/place/search/json?"
			+ "location=" + latString2 + "," + longiString2
			+ "&radius=15000&"
			+ "types=bank&sensor=false&key="
			+ myPlaceKey;
				
		HttpGet get = new HttpGet(bcURL.toString());
		HttpResponse r = client.execute(get);
		int status = r.getStatusLine().getStatusCode();
		if(status == 200){
		    HttpEntity e = r.getEntity(); 
		    String data = EntityUtils.toString(e); 
		    jsonMainString = new JSONObject(data); 
		    JSONArray timeline = jsonMainString.getJSONArray("results"); 
		    JSONObject displayBank = timeline.getJSONObject(0); 
		    return displayBank;
		}else{
			Toast.makeText(NewGPS5.this, "oops", Toast.LENGTH_SHORT);
			return null;
		}
		
	}
	
	public class ReadURL extends AsyncTask<String, Integer, String>{

		@Override
		protected void onPostExecute(String result) {
			ShowJSONData.setText(result);
		}

		@Override
		protected String doInBackground(String... params) {
			try {
				jsonMainString = showBanks();
				return jsonMainString.getString("name");
			} catch (ClientProtocolException e) {
				
				e.printStackTrace();
			} catch (IOException e) {
				
				e.printStackTrace();
			} catch (JSONException e) {
				
				e.printStackTrace();
			}
			
			
			return null;
		}
		
	}