gpt4 book ai didi

android - 从适配器的项目中获取 ImageView 时获取 null。为什么?

转载 作者:行者123 更新时间:2023-11-30 01:21:32 27 4
gpt4 key购买 nike

我获取文本,添加到 ListView,然后获取图像,但在尝试从适配器内的项目获取 ImageView 以设置图像时得到 null。我做错了什么?

//AsyncTask For Texts.
private class pgData extends AsyncTask<String, String, JSONArray> {

//CODES HERE ARE WORKING FINE...

protected void onPostExecute(JSONArray result) {

//CODES HERE ARE WORKING FINE...

lv = (ListView) findViewById(R.id.listView);
lv.setAdapter(adapter);
new Image().execute();//Executing Async Task For Image
}
}

//AsyncTask For Image.
private class Image extends AsyncTask<String, String, JSONArray> {

//CODES HERE ARE WORKING FINE...

protected void onPostExecute(JSONArray result) {
String img;
ImageView imv;
l = result.length();
JSONObject jsonObject;
for (int i = 0; i < l; i++) {
try {
jsonObject = result.getJSONObject(i);
img = "\n" + jsonObject.getString("image1") + "\n";
rawImage=Base64.decode(img, Base64.DEFAULT);
bmp = BitmapFactory.decodeByteArray(rawImage, 0, rawImage.length);

imv=adapter.getItem(i).imageview; //Getting null in imv
imv.setImageBitmap(bmp); //Thus this creates null pointer exception

adapter.notifyDataSetChanged();
} catch (Exception e) {
Toast.makeText(getBaseContext(), e.toString(), Toast.LENGTH_LONG).show();
}
}
}
}

最佳答案

我终于明白了!而不是:

imv=adapter.getItem(i).imageview;

代码必须是:

imv = (ImageView) lv.getChildAt(i).findViewById(R.id.image1);

关于android - 从适配器的项目中获取 ImageView 时获取 null。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37038754/

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