已经有几个问题在问这个问题,但我没有找到解决方案。我有一个 LiveWallpaper 使用它自己的子类PreferenceFragment
来指定首选项。最常引用的解决方案是确保setContentView()
在之前调用findViewByID()
。我根本没有打电话setContentView()
,因为我没有指定布局。该应用程序最初使用不推荐使用的方法(例如PreferenceActivity.getPreferenceManager()
不使用布局)实现了首选项,并且工作得很好。我正在尝试使代码在使用PreferenceFragment
.
我是否需要布局?如果需要,当我真的不想要布局时,我会拥有什么?
还是有另一种获取/设置视图的方法?
public class SetPreferenceActivity extends Activity {
private CheckBox redCheckBox;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.main); ???
redCheckBox = (CheckBox)findViewById(R.id.redCheckBox); // returns null
getFragmentManager().beginTransaction().replace(android.R.id.content, new LiveWallpaperPreferenceFragment()).commit();
}
}