Android:AdapterView不支持addView(View)

我有一个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:AdapterView中不支持addView(View));

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

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

在stackoverflow上没有多少关于Android的事情我猜…

无论如何,回答我自己的问题; 诀窍不是直接向视图添加子视图,而是视图的布局;

 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);