我如何在列表视图中显示谷歌附近的api图像响应?

时间:2017-04-20 11:57:26

标签: android json

我正在使用json volley从google api获取信息。我知道如何在listview中显示文本但不知道如何显示图像因为它们是字符串形式我真的不知道如何将该字符串转换为图像和显示在listview中。这是我的代码

public class MainActivity extends AppCompatActivity implements View.OnClickListener {
ListView lst_1;
Button btn_one;
String url;
ArrayList<CostumAdapter> contactList;
private ProgressDialog progress;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(activity_main);
    contactList = new ArrayList<>();
    lst_1 = (ListView) findViewById(R.id.lst_1);

    btn_one = (Button) findViewById(R.id.btn_1);
    btn_one.setOnClickListener(this);

}

public void Progress() {
    progress = new ProgressDialog(this);
    progress.setProgressStyle(ProgressDialog.STYLE_SPINNER);
    progress.setMessage("Loading");
    progress.show();
}

private void jsonfunction() {
    Progress();
    url = "https://maps.googleapis.com/maps/api/place/nearbysearch/json?" +
            "location=-33.8670522,151.1957362&" +
            "radius=500&" +
            "type=restaurant&" +
            "key=AIzaSyAG5Fndg4wPzs81FNv5-Ycl7GDlAdqeIaI" +
            "&sensor=true";

    Log.e("url", url);
    final StringRequest stringrequest = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() {
        @Override
        public void onResponse(String response) {
            Log.e("response", response);
            try {
                JSONObject jsonobj = new JSONObject(response);
                JSONArray jsonArray = jsonobj.getJSONArray("results");
                for (int i = 0; i < jsonArray.length(); i++) {
                    JSONObject object = jsonArray.getJSONObject(i);

                    JSONArray jsonArray2 = object.getJSONArray("photos");
                    for (int a = 0; a < jsonArray2.length(); a++) {
                        JSONObject object2 = jsonArray2.getJSONObject(a);


                        contactList.add(new CostumAdapter(
                                jsonArray.getJSONObject(i).getString("name"),
                                object2.getString("photo_reference")
                        ));
                    }
                }

                Log.e("response in a", String.valueOf(contactList));


            } catch (JSONException e) {
                Toast.makeText(MainActivity.this, "error in jason", Toast.LENGTH_SHORT).show();
                e.printStackTrace();
            }

            function();


        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError volleyError) {
            Toast.makeText(MainActivity.this, "error in ErrorListener", Toast.LENGTH_LONG).show();
        }
    });
    singalton.getinstance(MainActivity.this).addtorequestque(stringrequest);

}
 public void function() {
    CustomListAdapter adapter = new CustomListAdapter(getApplicationContext(), R.layout.custumlistview, contactList);
    lst_1.setAdapter(adapter);
}
@Override
public void onClick(View v) {
    jsonfunction();
}

}

0 个答案:

没有答案