首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >findViewById()返回null

findViewById()返回null
EN

Stack Overflow用户
提问于 2013-05-20 20:07:03
回答 1查看 126关注 0票数 0

有几个问题已经问过了,但我找不到解决办法。我有一个LiveWallpaper,它使用自己的PreferenceFragment子类来指定首选项。最常引用的解决方案是确保setContentView()findViewByID()之前被调用。我根本没有调用setContentView(),因为我没有指定的布局。这个应用程序最初使用PreferenceActivity.getPreferenceManager()之类的不推荐的方法来实现首选项,而不使用布局,并且工作得很好。我正在尝试在使用PreferenceFragment时更新代码。

我是否需要有一个布局,如果是的话,当我真的不想要的时候,我会有什么呢?

还是有另一种获取/设置视图的方法?

代码语言:javascript
复制
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();  
    }  
}  
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-20 20:11:59

您可以动态创建视图:

代码语言:javascript
复制
@Override  
protected void onCreate(Bundle savedInstanceState) {  
    super.onCreate(savedInstanceState);  

    TextView textView = new TextView(this);
    textView.setText("Hello");

    setContentView(textView);//<----set the view !

    }  
} 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16657500

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档