2013-05-29 5 views
1

У меня были ошибки, реализующие это использование, пытаясь добавить кнопку, которая использовала xml-код для отображения информации на кнопках. Я прошел мимо этого, создав одну кнопку, добавив ее в нижний колонтитул и установив id в идентификатор ok_button ID в моем R-файле.Добавление определенной кнопки в нижней части прокрутки PreferenceScreen

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

Вы можете обратиться к следующим шагам: -

  1. Создание макета XML, который содержит элемент управления ListView (вы должны иметь его) и кнопки, которые вы хотите добавить в нижней части.

  2. Добавьте способ компоновки, используя метод setContentView (R.layout.your_layout) после метода addPreferencesFromResource (R.xml.settings).

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 должен иметь идентификатор @android: идентификатор/список. Вы можете использовать RelativeLayout, если вам нужно.

+0

Благодарим за отзыв. Не могли бы вы проверить мое обновление? Возможно, я сделал это неправильно, но я попробовал вашу реализацию и получил ту же ошибку. – zgc7009

+0

Я изменил с LinearLayout на ListView и настроил представление содержимого непосредственно после addPreferencesFromResource (R.xml.settings); Еще не повезло. – zgc7009

+0

Проверьте мой обновленный ответ. Не следует добавлять кнопку в качестве дочернего элемента ListView. –

Смежные вопросы