简体   繁体   English

如何使回收台视图水平放置并像桌子一样布局?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM