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

Java 在另一个类中声明视图元素(上下文不清楚),java,android,view,android-context,Java,Android,View,Android Context,我正在以编程方式创建一个动态UI,在main类中我正在创建UI元素,以便以后可以将其添加到TableLayout视图中。通常我是这样声明的: TextView tw_1_2 = new TextView(this); 其中这是上下文。既然我从来没有清楚地理解过上下文,有人能告诉我如何在另一个类中声明这个TextView(例如,作为公共静态),如果我想在另一个类中声明这个视图,我应该在上下文中放些什么吗?基本上,你必须从你称为新类的活动中发送上下文。为此,您可以使用构造函数将上下文数据发送到类的

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

TextView tw_1_2 = new TextView(this);

其中
这是上下文。既然我从来没有清楚地理解过上下文,有人能告诉我如何在另一个类中声明这个
TextView
(例如,作为公共静态),如果我想在另一个类中声明这个视图,我应该在上下文中放些什么吗?

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

public class ExampleClass{
    private final Context context;

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

}
在你的活动课上,要做到:

ExampleClass ex1 = new ExampleClass(MainActivity.this);
如果您想将类用作静态的,您必须只将类和上下文变量定义为静态的,而不使用构造函数,并设置上下文等于您的上下文。
我希望这对您有所帮助。

将上下文保持为弱引用将涵盖调用活动不再存在(其上下文也不存在)的情况。