Java GridView未显示从Json检索到的数据
我有一个gridview,它应该显示作为url从服务器检索的emojies,我能够检索url并将其放入arraylist中,但是使用gridview适配器,根本没有显示任何图像,我尝试过在for循环外手动编码url进行调试,它显示了图像,这意味着我的适配器没有问题,而且当我尝试像arraylist一样在for循环中硬编码url时。添加(“url”)没有显示图像,这是我的代码,请告知图像未显示的原因,感谢您的帮助 BottomSheetDialog_Smiles.javaJava GridView未显示从Json检索到的数据,java,android,gridview,Java,Android,Gridview,我有一个gridview,它应该显示作为url从服务器检索的emojies,我能够检索url并将其放入arraylist中,但是使用gridview适配器,根本没有显示任何图像,我尝试过在for循环外手动编码url进行调试,它显示了图像,这意味着我的适配器没有问题,而且当我尝试像arraylist一样在for循环中硬编码url时。添加(“url”)没有显示图像,这是我的代码,请告知图像未显示的原因,感谢您的帮助 BottomSheetDialog_Smiles.java Communicator
Communicator.getInstance().on("subscribe start", new Emitter.Listener() {
@Override
public void call(Object... args) {
try {
JSONDictionary response = (JSONDictionary) args[0];
String str = response.get("emojiPack").toString();
JSONArray emojies = new JSONArray(str);
for (int i = 0; i < emojies.length(); i++) {
JSONObject response2 = (JSONObject)
emojies.getJSONObject(i);
emojiModel = new EmojiModel((String)
response2.get("urlFile"));
emojiUrl = emojiModel.getEmojiFile();
JSONDictionary t =
JSONDictionary.fromString(response2.toString());
emojiModel.init(t);
emojieModels.add(emojiModel);
}
ImageAdapter2 emojiAdapter = new
ImageAdapter2(getApplicationContext(), emojieModels);
gridView2.setAdapter(emojiAdapter);
} catch (JSONException e) {
e.printStackTrace();
}
}
});
试试这个
Picasso.with(this)
.load(imageUrl)
.fit()
.centerInside()
.into(imageViewFromUrl, new Callback() {
@Override
public void onSuccess() {
Log.i(TAG, "succcess");
}
@Override
public void onError() {
Log.i(TAG, "error");
}
}
);
请在问题中添加您的json响应。每当我在调试模式下运行应用程序时,它都会显示arraylist size=2,urlFile=“the url get display”urlFile=中的响应是什么,或者可能是毕加索图像没有加载。我怀疑毕加索图像没有加载,但为什么会发生这种情况,我想我的代码没有问题,或者我应该寻找另一种方法,你有什么建议?请尝试下面的ans,告诉我日志是成功还是错误日志根本没有出现请在这里添加json响应。emojiModels={ArrayList@6034}size=2 0==>id=5,price=0,urlFile=“url.png”1==>id=6,price=0,urlFile=“url.png”您的图像url未打开。我已尝试在我的电脑上打开它,但已成功打开
public class EmojiModel {
private int id;
private int price;
public String urlFile;
public EmojiModel(String urlFile) {
this.id=id;
this.price=price;
this.urlFile=urlFile;
}
public String getEmojiFile() {
return urlFile;
}
public void init(JSONDictionary data){
try{
urlFile = (String) data.get("urlFile");
id = Integer.parseInt((String) data.get("id"));
price = Integer.parseInt((String) data.get("price"));
}catch(Exception e){
e.printStackTrace();
}
}
}
Picasso.with(this)
.load(imageUrl)
.fit()
.centerInside()
.into(imageViewFromUrl, new Callback() {
@Override
public void onSuccess() {
Log.i(TAG, "succcess");
}
@Override
public void onError() {
Log.i(TAG, "error");
}
}
);