根据内容创建动态可调整大小的布局

时间:2014-02-18 12:55:22

标签: android listview user-interface

我正在尝试创建一个布局,显示当前3小时的课程以及带有房间号的时间和日期。

可能的屏幕: enter image description here

房间和时间/日期在顶部始终是静态的,其余部分将是来自JSON的SQL调用的动态。

data = idleResponse.getJSONArray("lecture");
                ArrayList<String> lects = new ArrayList<String>();
                for (int i = 0; i < data.length(); i++) {
                    JSONObject jObj = data.getJSONObject(i);
                    String time = jObj.getString("startTime"); // to do.substring(0, 4);
                    String moduleName = jObj.getString("moduleName");
                    lects.add(time + " " + moduleName);
                }               
                String[] lectureList = new String[lects.size()];
                for (int i = 0; i<lects.size();i++){
                    // fill with data
                    lectureList[i] = lects.get(i);
                }                           
                lecture.setText("Upcomming Lectures:");
                //set to list view
                ListView listitems=(ListView)findViewById(R.id.listView1);
                ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,lectureList);
                listitems.setAdapter(adapter);

我尝试使用列表视图来实现它,但它只是根据元素的数量缩小到屏幕的一小部分。

enter image description here

你可以看到它只是缩小了。

我想知道什么是最适合这类问题的布局类型,我的所有布局都非常基本,这样的事情对我来说似乎是一个很大的挑战。

1 个答案:

答案 0 :(得分:1)

您必须为listview编写自己的适配器,并使用weight属性来布局每行