首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android App - View功能

Android App - View功能
EN

Stack Overflow用户
提问于 2011-03-30 19:36:14
回答 2查看 617关注 0票数 0

有点新手的问题,我想我做错了。

这是我的第一个应用程序,我试图将它设置为多个文件和类,这是我目前的问题:

为了整洁和未来的意外使用,我将我的布局放到了函数中:

代码语言:javascript
复制
public void homepage (){
    setContentView(R.layout.layout_homepage);
}

我的大多数直接导航都使用菜单,以前,在onOptionsItemSelected ()中调用这些函数可以很好地工作。

但是,当我将页面函数移到一个单独的类中时:

代码语言:javascript
复制
public class newpage extends MyApp {

    //Home
    public void homepage (){
        setContentView(R.layout.layout_homepage);
    }
....

并在函数中调用它们:

代码语言:javascript
复制
public boolean onOptionsItemSelected(MenuItem item) {

    //Create new page class
        newpage pagecla = new newpage();
    ...

    pagecla.homepage();
    ....

它会使应用程序崩溃,并且在调试时,我唯一能理解的就是NullPointerException。我猜我必须给它一些View的值,但我真的不确定是什么。

EN

回答 2

Stack Overflow用户

发布于 2011-03-30 19:43:28

不要这样做。每个活动都应该有一个对setContentView()函数的调用来初始化该函数。应该不需要外部引用它。

票数 0
EN

Stack Overflow用户

发布于 2011-03-30 19:47:25

您应该从活动中调用setContentView,而不是从Application中调用。如果你想在你的Application中做这件事(不知道为什么),你应该提供一个你的活动的引用。但这是一个糟糕的设计,再加上你不会将你的类命名为pagecla,你最好读一读java命名约定。

看来你也缺乏面向对象的知识。您的函数实际上是一个方法,需要在其上调用一个对象。它是重构之前的Activity,重构之后的pagecla

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

https://stackoverflow.com/questions/5485752

复制
相关文章

相似问题

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