我有一个TextView
in MainActivity
,我想TextView
在另一个类中更改文本。
我怎样才能从另一个班级TextView
进入?MainActivity
我尝试了以下
TextView textView = (TextView) findViewById(R.id.myTextView);
textView.setText("文本");
但是应用程序在调用时崩溃setText()
我有一个TextView
in MainActivity
,我想TextView
在另一个类中更改文本。
我怎样才能从另一个班级TextView
进入?MainActivity
我尝试了以下
TextView textView = (TextView) findViewById(R.id.myTextView);
textView.setText("文本");
但是应用程序在调用时崩溃setText()
你必须使用runOnUiThread(new 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);
}
});
}
}
如果您想更新 TextView 的文本,一种可能的方法是在您的类共享的公共数据模型中编辑文本。如果onResume
稍后从活动中调用它,它可以从模型中读取新值并更新 TextView。
我建议使用处理程序来更新该活动的内容。这只是一种方法,有多种方法可以做到这一点。
句柄的全部目的是让一些后台进程/线程将信息传递到 UI 线程。