0
所以我有一个数据库,其中的用户名与图像的名称相对应。所以在我的AsyncHTTP我检索用户名,并希望将该用户名映射到其正确的图像(所有图像位于我的可绘制文件夹中)用异步更新图像
在我的XML中,这幅图像将呈现我只是把imageview,并从未分配它一个图像(这个图像的Id是myImage)
所以当我运行我的代码时,图像不会呈现。由于范围问题,我无法在异步之外分配图像。
Context context = this;
AsyncHTTPPost asyncHttpPost2 = new AsyncHTTPPost(
"http://lamp.ms.wits.ac.za/~s1363679/avatars.php", params) {
@Override
protected void onPostExecute(String s) {
try {
JSONArray all = new JSONArray(s);
for (int i = 0; i < all.length(); i++) {
JSONObject item = all.getJSONObject(i);
fName = item.getString("avatarName");
System.out.println();
Toast.makeText(Profile.this, fName, Toast.LENGTH_LONG).show();
ImageView Image = (ImageView) findViewById(R.id.myImage);
System.out.println("");
theName = fName;
//String imagename="kaius";
Resources res = context.getResources();
int resID = res.getIdentifier(theName, "drawable", context.getPackageName());
Image.setImageResource(resID);
}
} catch (Exception e) {
Toast.makeText(Profile.this, e.toString(), Toast.LENGTH_LONG).show();
}
}
};
asyncHttpPost2.execute();
}
imageName被正确地检索并存储在变量“theName”中,但它似乎没有渲染到视图上。