如何在listview页脚视图按钮

时间:2015-09-21 14:39:40

标签: android android-listview

我使用listview创建了活动,并以语法方式添加页脚视图。页脚视图包含两个按钮(后退和下一个)。问题是,当我点击按钮时,它不会触发点击事件,但是当我专注于查看(页脚视图)时,它会触发点击事件。

这是我的代码,

listView.addFooterView(footer_controls,null,true);

                      Button NextButton =(Button) footer_controls.findViewById(R.id.btnNext);
                        NextButton.setOnClickListener(new OnClickListener() {
                            @Override
                            public void onClick(View v) {
                                Toast.makeText(context, "forward clicked", Toast.LENGTH_LONG).show();
                                LoadData();
                            }
                        });

提前致谢。

3 个答案:

答案 0 :(得分:0)

在添加页脚视图之前编写OnclickListener 并确保设置focusable =" false"在xml中你的根布局

答案 1 :(得分:0)

在用于充气footer_controls的xml布局中,尝试将android:descendantFocusability="blocksDescendants"置于最高根视图

例如

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:descendantFocusability="blocksDescendants"
    android:orientation="vertical" >

        <Button ...>

        <!--Other Views -->

</LinearLayout>

答案 2 :(得分:0)

尝试以下为我工作的代码...不需要持有人拨打你的按钮你可以直接findviewbyid如下

 listSearchResult = (ListView) findViewById(R.id.listSearchResult);
    footerView1 = View.inflate(this, R.layout.no_listing_found, null);
    listSearchResult.addFooterView(footerView1,null,false);

    Button NextButton =(Button) findViewById(R.id.btnNext);
    NextButton.setOnClickListener(new OnClickListener() {
       @Override
       public void onClick(View v) {
           Toast.makeText(context, "forward clicked",           Toats.LENGTH_LONG).show();
                            LoadData();
                        }
                    });