我有一个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源自“首选项”并显示自定义布局;
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?
答案 0 :(得分:2)
在stackoverflow上没有多少关于Android的事情我猜...
无论如何,要回答我自己的问题;诀窍不是直接向视图添加子视图,而是添加到视图的布局;
videoPlayer.scaleMode = "stretch";