Android更改其他类的TextView文本
问题描述:
我在MainActivity
中有TextView
,我想在另一个类中更改TextView
文本。Android更改其他类的TextView文本
如何从另一个班级访问MainActivity
中的TextView
?
我尝试以下
的TextView的TextView =(TextView的)findViewById(R.id.myTextView);
textView.setText(“Text”);调用setText()
答
时候我会建议使用一个处理程序来更新活动的内容
但应用程序崩溃。这只是一种方式,有多种方式可以做到这一点。
句柄的整个目的是让一些后台进程/线程传递信息到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);
}
});
}
}
您可以检查此链接 http://*.com/questions/ 6605588 /改变文本从另一个活动?answertab =活动#tab-top – 2013-04-05 08:46:26
看到这个问题http://*.com/questions/10996479/how-to-update-a-textview-of-an-activity - 从-另一级 – 2016-06-17 13:02:55