如何制作像redbus一样的座位布局?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何制作像redbus一样的座位布局?相关的知识,希望对你有一定的参考价值。
如何在每行3个元素后的网格视图中给出空间?
预期观点如下:
.
这是我的主要活动代码。请检查我上面给出的我的屏幕我想要在android中的网格视图中的空间,如何在每行3个元素之后的网格视图中给出空间?
public void submit() {
String URLL= "https://api.myjson.com/bins/14h7rp";
StringRequest stringRequest = new StringRequest(Request.Method.GET, URLL,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONObject object=new JSONObject(response);
String status=object.getString("Status");
String Data=object.getJSONObject("Data").getString("Seat_details");
JSONArray jsonArray=new JSONArray(Data);
for (int i=0;i<jsonArray.length();i++){
JSONObject J=jsonArray.getJSONObject(i);
String seats=J.getString("seats");
JSONArray jsonArray1=new JSONArray(seats);
for (int k=0;k<jsonArray1.length();k++){
JSONObject l=jsonArray1.getJSONObject(k);
String id=l.getString("id");
String name=l.getString("name");
String bookedStatus=l.getString("bookedStatus");
m=new Model();
m.setId(id);
m.setName(name);
m.setBookedStatus(bookedStatus);
arrayList.add(m);
}
}
} catch (JSONException e) {
e.printStackTrace();
}
adapter=new MainActivityAdapter(arrayList,MainActivity.this);
recyclerView.setAdapter(adapter);
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
}) {
@Override
}
}
我的Recylerview初始化如下
private void init_views() {
recyclerView=(RecyclerView)findViewById(R.id.recyclerview);
int spacingInPixels = getResources().getDimensionPixelSize(R.dimen.spacing);
recyclerView.addItemDecoration(new SpacesItemDecoration(spacingInPixels));
recyclerView.setHasFixedSize(true);
RecyclerView.LayoutManager layoutManager = new GridLayoutManager(getApplicationContext(),5);
recyclerView.setLayoutManager(layoutManager);
/* DividerItemDecoration dividerItemDecoration = new DividerItemDecoration(recyclerView.getContext(),
layoutManager.getOrientation(layoutManager));
recyclerView.addItemDecoration(dividerItemDecoration);*/
}
答案
你得到答案的方式之一,但它不是一个正确的方法
try {
JSONObject object=new JSONObject(response);
String status=object.getString("Status");
String Data=object.getJSONObject("Data").getString("Seat_details");
// System.out.println("_______Data_________" + Data);
JSONArray jsonArray=new JSONArray(Data);
for (int i=0;i<jsonArray.length();i++){
JSONObject J=jsonArray.getJSONObject(i);
String seats=J.getString("seats");
JSONArray jsonArray1=new JSONArray(seats);
for (int k=0;k<jsonArray1.length();k++){
if (k%COLUMNS==3) {
m=new Model();
m.setId("");
m.setName("");
m.setSeatKey("");
m.setRowNumber("");
m.setColumnIndex("");
m.setBookedStatus("2");
arrayList.add(m);
} else{
JSONObject l=jsonArray1.getJSONObject(k);
String id=l.getString("id");
String name=l.getString("name");
String seatKey=l.getString("seatKey");
String rowNumber=l.getString("rowNumber");
String columnIndex=l.getString("columnIndex");
String bookedStatus=l.getString("bookedStatus");
System.out.println("______name_________" + name);
m=new Model();
m.setId(id);
m.setName(name);
m.setSeatKey(seatKey);
m.setRowNumber(rowNumber);
m.setColumnIndex(columnIndex);
m.setBookedStatus(bookedStatus);
arrayList.add(m);
}
}
}
} catch (JSONException e) {
e.printStackTrace();
}
声明COLUMN变量
private static final int COLUMNS = 6;
以上是关于如何制作像redbus一样的座位布局?的主要内容,如果未能解决你的问题,请参考以下文章
我正在尝试为一个项目制作座位预订系统。此代码无法显示哪些座位已被占用