Android: AdapterView 不支持 addView(View)

Android: addView(View) is not supported in AdapterView

我有一个显示偏好动态列表的 PreferenceFragment,实现方式如下;

public class ConfigFragment extends PreferenceFragment {

    @Override
    public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);

       addPreferencesFromResource(R.xml.settings);

       for(int i = 0; i<items.size();i++) {

          SettingsScreen s = new SettingsScreen(getActivity());

          PreferenceScreen screen = getPreferenceManager().createPreferenceScreen(getActivity());
          screen.setTitle(itemName);
          screen.addPreference(s);
          indicatorCategory.addPreference(screen);
      }
}

SettingsScreen 派生自 Preference 并显示自定义布局;

public class SettingsScreen extends Preference {

@Override
protected View onCreateView(ViewGroup group) {

    LayoutInflater li = (LayoutInflater)getContext().getSystemService( Context.LAYOUT_INFLATER_SERVICE );

    View v = li.inflate(R.layout.indicator_config, group, false);

    return v;
}

到目前为止一切正常。我现在面临的问题是当我尝试将视图动态添加到 SettingsScreen 时。 以下将导致标题中所述的崩溃 (UnsupportedOperationException: addView(View) is not supported in AdapterView);

Button b = new Button(getContext);
group.addView(b);

那么如何将视图动态添加到 SettingsScreen?

我猜 Android 在 Whosebug 上没什么进展...

总之,回答我自己的问题;诀窍不是直接将子视图添加到视图,而是添加到视图的布局;

View v = li.inflate(R.layout.indicator_config, group, false);
LinearLayout r = (LinearLayout) v.findViewById(R.id.configLayout);
Button b = new Button(getContext);
r.addView(b);