在另一个类中声明视图元素(上下文不清楚)

时间:2013-10-04 20:33:21

标签: java android view android-context

我正在以编程方式创建动态UI,在主类中我正在创建UI元素,以便稍后将其添加到TableLayout视图中。通常我会这样声明:

TextView tw_1_2 = new TextView(this);

其中this是上下文。由于我从来没有清楚地理解上下文,有人可以告诉我如何在另一个类中声明这个TextView(例如,作为公共静态),如果我想在其他类中声明这个视图,我应该放在上下文中?

1 个答案:

答案 0 :(得分:1)

基本上,您必须从您调用新课程的活动中发送上下文。为此,您可以使用构造函数将上下文数据发送到类的新对象。我有一个例子,展示如何创建一个constrctor并使用它。 例如,这是您的ExampleClass:

public class ExampleClass{
    private final Context context;

    public ExampleClass(Context context) {
            this.context = context;
    }

}

并在您的活动类中执行此操作:

ExampleClass ex1 = new ExampleClass(MainActivity.this);

如果你想把你的类用作静态,你必须只将你的类和上下文变量定义为static而不用构造函数,set context等于你的上下文。 我希望这能帮到你。