全局类如何更改对象内的文本视图?

时间:2017-08-04 06:11:28

标签: android

我有一个全局的GlobalClass类。

所以在这个类中我有另一个包含布局

的类的对象
public class GlobalClass extends Application{
    private ClassThatHasTextView foo= null;

    function(){
        foo.text.setText("jdajiodsa");
    }
}


public class ClassThatHasTextView extends Activity{

    TextView text;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        Log.d(TAG, "onCreate");
        super.onCreate(savedInstanceState);
        setContentView(R.layout.ClassThatHasTextView);
    }
}

我想要做的是在text内的函数中更改GlobalClass(在ClassThatHasTextView内),是否可能?

如何更改文字?

我正在考虑一些像

这样的解决方案
1) this.foo.text.setText("dsajiojdsa")
2)this.getApplicationContext().foo.text.setText("idasisda")

有什么想法吗?

1 个答案:

答案 0 :(得分:-1)

您可以使用Setter和Getters

在你的GlobalClass中

    private TextView textView;

    public void setText(String text) {
         if (this.textView != null)
              this.textView.setText(text)
    }

    public void setTextView(TextView textView){
         this.textView = textView;
    }

在您的Activity类

     GlobalClass globalClass = (GlobalClass) getApplicationContext();
     globalClass.setText("dsajiojdsa");

确保首先在Application类中设置TextView。