2013-05-29 85 views
1

我試圖添加一個按鈕,該按鈕利用xml代碼來顯示按鈕信息,從而導致錯誤實現。我通過創建一個按鈕,將其添加到頁腳,並在我的R文件中將id設置爲ok_button ID的ID來實現此目的。將特定的按鈕添加到滾動的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); 
    } 
} 

This Works!

回答

1

你可以參考下面的步驟: -

  1. 創建一個包含一個ListView一個XML佈局(你必須有它),要在底部添加的按鈕。

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

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 /列表。如果需要,可以使用RelativeLayout。

+0

謝謝你的回覆。你能檢查我的更新嗎?我可能做錯了,但我嘗試了你的實現並得到了同樣的錯誤。 – zgc7009

+0

我從LinearLayout更改爲ListView,並在addPreferencesFromResource(R.xml.settings)後直接設置內容視圖;仍然沒有運氣。 – zgc7009

+0

檢查我更新的答案,您不應該將該按鈕添加爲ListView的子項。 –

相關問題