将特定按钮添加到滚动PreferenceScreen的底部

时间:2013-05-29 15:26:10

标签: android button view footer preferenceactivity

通过尝试添加一个使用xml代码来显示按钮显示信息的按钮,我在使用它时遇到了错误。我通过创建一个按钮,将其添加到页脚,并将id设置为我的R文件中的ok_button ID来实现此目的。

public class Prefs extends PreferenceActivity {
    @SuppressWarnings("deprecation")
    @Override
    protected void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.xml.settings);
        this.setContentView(R.layout.buttons);

        /* Add Button to the Bottom of List */
        Button button = new Button(this);
        button.setText("OK");
        button.setId(R.id.ok_button);
        ListView v = getListView();
        v.addFooterView(button);
    }
}

这有效!

1 个答案:

答案 0 :(得分:1)

您可以参考以下步骤: -

  1. 创建一个XML布局,其中包含ListView(您必须拥有它)以及要在底部添加的按钮。

  2. 在addPreferencesFromResource(R.xml.settings)方法之后使用setContentView(R.layout.your_layout)方法添加布局。

  3. 3.您可以像平常一样访问按钮。

    更新: -

    您的布局代码应该是这样的,

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >
    
        <ListView
            android:id="@android:id/list"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" 
            android:background="#00000000">
        </ListView>
    <Button
        android:id="@+id/ok_button"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="OK" />
    </LinearLayout>
    

    ListView的ID必须为 @android:id / list 。如果需要,可以使用RelativeLayout。