[英]How to make recycler view horizontal and like table layout?
I have list data recycler view and I want to make it like a table layout and dynamical. 我有列表数据回收器视图,并且想要使其像表布局一样动态。 Here is the example view of the table that I want to make: https://ibb.co/q7zYM64
这是我要制作的表的示例视图: https : //ibb.co/q7zYM64
And this is my condition app : https://ibb.co/JKXwthj 这是我的条件应用程序: https : //ibb.co/JKXwthj
and this is my main_activity.java : 这是我的main_activity.java:
public class MainActivity extends AppCompatActivity { 公共类MainActivity扩展了AppCompatActivity {
private static final String URL_DATA = "http://sipermata.bappedawaykanan.com/api/admin/jumlah_penduduk_kabupaten/list?year=2019";
private RecyclerView recyclerView;
private RecyclerView.Adapter adapter;
private List<ListItem> listItems;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
recyclerView = (RecyclerView)findViewById(R.id.recyclerview);
recyclerView.setHasFixedSize(true);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
listItems = new ArrayList<>();
loadRecyclerViewData();
}
private void loadRecyclerViewData(){
final ProgressDialog progressDialog = new ProgressDialog(this);
progressDialog.setMessage("Loading Data...");
progressDialog.show();
StringRequest stringRequest = new StringRequest(Request.Method.GET,
URL_DATA,
new Response.Listener<String>() {
@Override
public void onResponse(String s) {
progressDialog.dismiss();
try {
JSONObject jsonObject = new JSONObject(s);
JSONArray array = jsonObject.getJSONArray("data");
//JSONArray array = new JSONArray(s);
for (int i = 0 ; i<array.length(); i++){
JSONObject o = array.getJSONObject(i);
String id = o.getString("id");
String kec = o.getString("kecamatan");
String avg = o.getString("avg");
//String tahun = o.getString("year");
JSONObject isitahun = o.getJSONObject("year");
Iterator<String>itr = isitahun.keys();
//for(int j = 0; j<=isitahun.length();j++){
while (itr.hasNext()){
String key = itr.next();
JSONObject a = isitahun.getJSONObject(key);
String tahun = a.getString("value");
ListItem item = new ListItem(
id, kec, avg, key, tahun
);
listItems.add(item);
}
}
adapter = new MyAdapter(listItems,getApplicationContext());
recyclerView.setAdapter(adapter);
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
progressDialog.dismiss();
Toast.makeText(getApplicationContext(), volleyError.getMessage(),Toast.LENGTH_LONG).show();
}
});
RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.add(stringRequest);
}
} }
You can set layout as horizontal. 您可以将布局设置为水平。
recyclerView = (RecyclerView)findViewById(R.id.recyclerview);
recyclerView.setHasFixedSize(true);
LinearLayoutManager horizontalLayoutManager = new LinearLayoutManager(MainActivity.this, LinearLayoutManager.HORIZONTAL, false);
recyclerView.setLayoutManager(horizontalLayoutManager);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.