Android更改其他类的TextView文本

问题描述:

我在MainActivity中有TextView,我想在另一个类中更改TextView文本。Android更改其他类的TextView文本

如何从另一个班级访问MainActivity中的TextView

我尝试以下

的TextView的TextView =(TextView的)findViewById(R.id.myTextView);

textView.setText(“Text”);调用setText()

+0

您可以检查此链接 http://*.com/questions/ 6605588 /改变文本从另一个活动?answertab =活动#tab-top – 2013-04-05 08:46:26

+0

看到这个问题http://*.com/questions/10996479/how-to-update-a-textview-of-an-activity - 从-另一级 – 2016-06-17 13:02:55

时候我会建议使用一个处理程序来更新活动的内容

但应用程序崩溃。这只是一种方式,有多种方式可以做到这一点。

句柄的整个目的是让一些后台进程/线程传递信息到UI线程中。

如果要更新TextView的文本,可能的方法是编辑由您的类共享的通用数据模型中的文本。如果稍后调用活动的onResume,则它可以从模型中读取新值并更新TextView。

你必须使用runOnUiThread(新的Runnable()...

如下图:

import android.content.Context; 

private class AnotherClass { 
     protected MainActivity context; 

     public AnotherClass(Context context){ 
      this.context = (MainActivity) context; 
     } 

     public void updateTV(final String str1){ 
      context.runOnUiThread(new Runnable() { 
       @Override 
       public void run() { 
        context.textView.setText(str1);  
       } 
      }); 
     } 
    }