gpt4 book ai didi

java - 如何在android ListView 中显示带有json url的图像

转载 作者:行者123 更新时间:2023-12-01 09:47:06 26 4
gpt4 key购买 nike

我编写程序从 json 获取数据(文本)并在 ListView 中显示它,我编写代码及其工作,但现在我用 json 获取图像的 url,但我不知道如何在 ListView 中显示图像 ImageView ,请帮助我

这是我的代码

主要 Activity :

public class MainActivity extends ListActivity {

private ProgressDialog pd;
JSONParser jParser=new JSONParser();
ArrayList<HashMap<String,String>> P;
JSONArray s=null;
private final String url="http://192.168.1.4:81/upload/travel.php";


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
P = new ArrayList<>();
new travel().execute();

}

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
String id_code=((TextView)v.findViewById(R.id.id_code)).getText().toString();
Intent in=new Intent(MainActivity.this,ADD.class);
in.putExtra("id",id_code);
startActivity(in);

}

class travel extends AsyncTask<String,Void,String>{

@Override
protected void onPreExecute() {
super.onPreExecute();
pd=new ProgressDialog(MainActivity.this);
pd.setMessage("login");
pd.show();
}

@Override
protected String doInBackground(String... params) {

List<NameValuePair> parms=new ArrayList<>();
JSONObject json=jParser.makeHTTPRequest(url,"GET");

try {
int t=json.getInt("t");
if(t==1){
s=json.getJSONArray("travel");
for(int i=0;i<s.length();i++){
JSONObject c=s.getJSONObject(i);
String id=c.getString("id");
String companyname=c.getString("companyname");
String cod=c.getString("cod");
String bign=c.getString("bign");
String stop=c.getString("stop");
String date=c.getString("date");
String time=c.getString("time");
String price=c.getString("price");
String url_image=c.getString("url_image");

HashMap<String,String>map=new HashMap<String,String>();
map.put("id",id);
map.put("companyname",companyname);
map.put("cod",cod);
map.put("bign",bign);
map.put("stop",stop);
map.put("date",date);
map.put("time",time);
map.put("price",price);
map.put("url_image",url_image);

P.add(map);

}
}else {
Toast.makeText(MainActivity.this,"No Data Found",Toast.LENGTH_SHORT).show();
}


} catch (JSONException e) {
e.printStackTrace();
}

return null;
}

@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
pd.dismiss();
runOnUiThread(new Runnable() {
@Override
public void run() {
ListAdapter adapter = new SimpleAdapter(MainActivity.this, P, R.layout.item_list,
new String[]{"url_image","companyname", "cod", "bign", "stop", "date", "time", "price"},
new int[]{R.id.id_code,R.id.companyname, R.id.cod, R.id.bign, R.id.stop, R.id.date, R.id.time1, R.id.price});


setListAdapter(adapter);
}
});

}

}

}

最佳答案

我建议您使用最好的库来异步加载图像 PICASSO LIBRARY LINK

现在你应该编写代码

Picasso.with(context).load("http://i.imgur.com/DvpvklR.png").into(imageView);

关于java - 如何在android ListView 中显示带有json url的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37899149/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com