gpt4 book ai didi

android - 将按钮添加到 PreferenceFragment

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:55:56 26 4
gpt4 key购买 nike

我想在我的首选项屏幕底部添加几个按钮,用于设置默认值和恢复默认值。 This答案不包括如何使用 PreferenceFragment 执行此操作。推荐的方法是什么?

加载首选项 fragment 的 Activity :

public class SettingsActivity extends Activity {

@Override
public void onCreate( Bundle savedInstanceState) {

super.onCreate( savedInstanceState);

// load up the preferences fragment
getFragmentManager().beginTransaction().replace( android.R.id.content, new PrefsSettingsFragment()).commit();
}
}

PreferenceFragment 实现:

public class PrefsSettingsFragment extends PreferenceFragment {

@Override
public void onCreate( Bundle savedInstanceState) {

super.onCreate( savedInstanceState);

addPreferencesFromResource( R.xml.preferences);
}
}

首选项.xml:

<?xml version="1.0"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">

<EditTextPreference android:key="edit_text_preference_server_address" android:title="@string/preference_server_address"/>
<SwitchPreference android:key="switch_preference_bat" android:title="@string/preference_bat"/>
<SwitchPreference android:key="switch_preference_comm" android:title="@string/preference_comm"/>
<SwitchPreference android:key="switch_preference_dev_mode" android:title="@string/preference_dev_mode" android:defaultValue="true"/>

</PreferenceScreen>

最佳答案

我遇到了同样的问题,我找到了处理这个问题的方法。

重写PreferenceFragment中的onCreateView方法,使用参数给定的LayoutInfalter创建自己的View,并返回这个view。

这是我的代码。希望对您有所帮助

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub

View v = inflater.inflate(R.layout.set_alarm, null);

Button save = (Button)v.findViewById(R.id.save);
Button revert = (Button)v.findViewById(R.id.revert);
Button delete = (Button)v.findViewById(R.id.delete);

save.setOnClickListener(this);
revert.setOnClickListener(this);
delete.setOnClickListener(this);

if(mId == -1){
delete.setEnabled(false);
}

return v;
}

关于android - 将按钮添加到 PreferenceFragment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12305563/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com