【发布时间】:2019-09-09 08:56:33
【问题描述】:
【问题讨论】:
-
对这种网格使用 StaggeredGridLayoutManager。
-
在您的设计中使用线性布局管理器
标签: android android-recyclerview gridlayoutmanager
【问题讨论】:
标签: android android-recyclerview gridlayoutmanager
你可以使用
(*) 只有当项目可以绘制为网格时,您才能使用GridLayoutManager。在这种情况下,您可以使用方法setSpanSizeLookup(SpanSizeLookup) 更改默认跨度(=1)。
类似:
layoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
public int getSpanSize(int position) {
return // your implementation ...... ;
}
});
【讨论】:
您可以使用 GridLayoutManager,默认跨度计数为 1,并且可以在 setItemViewType() 方法中的适配器类内设置运行时的宽度。
【讨论】:
private void parseJsons()
{
try {
JSONObject object=new JSONObject(json);
// JSONObject object=jsonObject.getJSONObject("元数据");
Iterator<String> it = object.keys();
while (it.hasNext()) {
String key = it.next();
try {
if (object.get(key) instanceof JSONObject) {
Log.e("Main OBJ",key);
JSONObject object2=object.getJSONObject(key);
Iterator<String> it2 = object2.keys();
while (it2.hasNext()) {
String key2 = it2.next();
if (object2.get(key2) instanceof JSONObject) {
Log.e("Sub OBJ",key2);
JSONObject object3=object2.getJSONObject(key2);
Iterator<String> it3 = object3.keys();
while (it3.hasNext()) {
String key4 = it3.next();
Log.e("Values",key4);
}
} else {
System.out.println(key + ":" + object.getString(key));
}
}
} else {
System.out.println(key + ":" + object.getString(key));
}
} catch (Throwable e) {
try {
System.out.println(key + ":" + object.getString(key));
} catch (Exception ee) {
}
e.printStackTrace();
}
}
} catch (JSONException e) {
e.printStackTrace();
}
}
String json="{\n" +
" \"Meta Data\": {\n" +
" \"1. Information\": \"Intraday (15min) open, high, low, close prices and volume\",\n" +
" \"2. Symbol\": \"AAME\",\n" +
" \"3. Last Refreshed\": \"2019-11-18 16:00:00\",\n" +
" \"4. Interval\": \"15min\",\n" +
" \"5. Output Size\": \"Compact\",\n" +
" \"6. Time Zone\": \"US/Eastern\"\n" +
" },\n" +
" \"Time Series (15min)\": {\n" +
" \"2019-11-18 16:00:00\": {\n" +
" \"1. open\": \"1.6700\",\n" +
" \"2. high\": \"1.6700\",\n" +
" \"3. low\": \"1.5700\",\n" +
" \"4. close\": \"1.5700\",\n" +
" \"5. volume\": \"1521\"\n" +
" },\n" +
" \"2019-11-18 15:45:00\": {\n" +
" \"1. open\": \"1.6600\",\n" +
" \"2. high\": \"1.7400\",\n" +
" \"3. low\": \"1.6600\",\n" +
" \"4. close\": \"1.7400\",\n" +
" \"5. volume\": \"355\"\n" +
" }\n" +
" }\n" +
"}";
【讨论】: