をActivity
使用して設定メニューを表示する がありますPreferenceFragment
。s のリストをフラグメントに渡すメソッドがあり、基本的にボタンのように動作させたい s のBean
リストを動的に生成できます。Preference
クリックされた環境設定の 1 つに反応するために を使用しようとしてOnPreferenceClickListener
いますが、最も外側のアクティビティにこれを知らせる必要があります。私のコードは次のようになります。
public class PairActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
fragment = new SettingsFragment();
getFragmentManager().beginTransaction()
.replace(android.R.id.content, fragment)
.commit();
...
}
public static class SettingsFragment extends PreferenceFragment {
public void displayBeans(Collection<Bean> beans) {
...
for(Bean bean : beans) {
Preference pref = new Preference(getActivity());
pref.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
// want to let the Activity know something happened
}
});
}
}
}
...
}
コメントは、どこからアクティビティに到達したいかを示していますが、静的クラス内の匿名クラス内にあります...問題を解決するにはどうすればよいですか?