1

我对 Java 和 Android 还很陌生,所以我不知道自己在做什么。

我的测试程序成功创建了视图对象,所以现在我正在尝试组织我的代码。我想创建一个单独的类来管理我的 GUI,但它总是失败。

关于我的 gui 类的基本信息:

package horc.gui;
   ...
public class GUI{
    private Context context;

从我的主要活动中,我用应用程序上下文构建了那个 gui 类。

gui=new GUI(getApplicationContext());   // gui is a var of type GUI, & this sets the context of the class

问题是当我从外部创建/修改类中的视图对象时,它会引发异常。

我的主要活动...

package horc.test;
   ...
GUI gui;
LinearLayout test=gui.newLinear("ff", "v"); // <-- this sets fill parent for width/height
                                            // & vertical orientation of the vertical layout.
                                            // Doesnt work for the reason stated above.
                                            // I cannot manage any view objects from a separate class.
gui.lastText.setText("@@@@@@@@@@"); // <-- a variable in the class to hold the view object I am manipulating
setContentView(t);

...调用此类函数:

public TextView newText(String text){
    TextView test=new TextView(context);
    lastLinear.addView(test);
    return test;
}

我在主要活动中测试了这个类似的身体,它工作得很好。只有当我从那个 gui 类之外做任何事情时它才会失败。

人们在管理单独的类中的视图对象时会遇到一个常见问题吗?我完全不知道此时我在做什么。来自 C++,java 似乎是一种疯狂的语言。我不能像在 C++ 中那样计划事情。

4

1 回答 1

2

代替

gui=new GUI(getApplicationContext()); 

尝试

gui=new GUI(MyActivity.this); 

请输入您的活动名称而不是 MyActivity

于 2012-05-11T09:15:27.900 回答