0

我在活动中有一个带页脚的列表视图。

我想做的是:

  1. 制作一个列表视图。
  2. 将文本视图添加到列表视图的页脚
  3. 将页脚应用于列表视图。

下面是活动的onCreate方法

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_lecture_refer_room);

    // making listview...
    ListView listView = (ListView) findViewById(R.id.referList);
    ...
    ...
    String[] from = {"line1", "line2"};
    int[] to = {android.R.id.text1, android.R.id.text2};
    SimpleAdapter adapter = new SimpleAdapter(this, mapList,
              android.R.layout.simple_list_item_2, from, to);

           // footer_layout is in refer_footer.xml
     View footer = getLayoutInflater().inflate(R.layout.refer_footer, null, false);
    LinearLayout ll = (LinearLayout)findViewById(R.id.footer_layout);

    TextView tv= new TextView(this);
    tv.setText(element.text());
    tv.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
                    LayoutParams.WRAP_CONTENT));
    tv.setVisibility(View.VISIBLE);
    ll.addView(tv);


        listView.addFooterView(footer);

        listView.setAdapter(adapter);
        //setContentView(R.layout.activity_lecture_refer_room);
    }
}

有两个 .xml 文件。(一个用于包含列表视图的活动,一个用于页脚)要添加 textview,我使用setContentView(R.layout.refer_footer);并成功添加了 textview。但是当我运行一个应用程序时,它只显示页脚的内容。(不是列表视图)所以我使用setContentView(R.layout.activvity_lecture_refer_room);then 应用程序不显示任何内容。

我应该怎么做才能显示包含页脚的 lsitview?

4

1 回答 1

2

这里:

setContentView(R.layout.refer_footer);

无需setContentView使用refer_footer布局调用,因为refer_footer布局适用于您正在添加的 ListView 页脚addFooterView

// inflate foooter layout 
 View footer = getLayoutInflater().inflate(R.layout.refer_footer,
                                                             null, false);
  // get footer_layout from footer
  LinearLayout ll = (LinearLayout)footer.findViewById(R.id.footer_layout);
    // create TextView
    TextView tv= new TextView(this);
    tv.setText(element.text());
    tv.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
                    LayoutParams.WRAP_CONTENT));
    tv.setVisibility(View.VISIBLE);
    // add textview to footer_layout
    ll.addView(textview);
    // set layout for footer
    listView.addFooterView(footer);
于 2015-02-04T12:00:52.920 回答