好的,我有一个图像URL的JSON数组。我想将它们加载到水平滚动视图中。这就是我的方式,但ScrollView应该显示的内容没有显示出来:
public void run() {
JSONArray photosArray;
caption = new WebView(thisContext);
imageScroller = new HorizontalScrollView(thisContext);
imagesHolder = new LinearLayout(thisContext);
imagesHolder.setOrientation(LinearLayout.HORIZONTAL);
try {
photosArray = new JSONArray(postData.getString("photos"));
for(int i = 0; i < photosArray.length(); i++) {
WebView iV = new WebView(thisContext);
JSONObject thisPhoto = photosArray.getJSONObject(i);
JSONArray sizesArray = new JSONArray(thisPhoto.getString("alt_sizes"));
JSONObject largest = sizesArray.getJSONObject(0);
iV.loadData("<img src=\""+largest.getString("url")+"\" />", "text/html", null);
imagesHolder.addView(iV);
}
imageScroller.addView(imagesHolder);
myPostHolder.addView(imageScroller);
caption.loadData(postData.getString("caption"),"text/html",null);
myPostHolder.addView(caption);
} catch (Exception e) {
e.printStackTrace();
}
}
请注意,这是在runnable类中完成的。非常感谢
答案 0 :(得分:0)
Android单线程模型中有两个规则。
所以我认为你不能在主线程之外的视图组中添加视图。有关更全面的解释,请参阅:http://developer.android.com/guide/topics/fundamentals/processes-and-threads.html。
此外,您需要确保实际设置contentview
,并且可能需要致电invalidate()
上的viewgroup
进行重绘。
并且,您可能应该使用GridView
..无法理解您为何使用网页浏览。