Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/202.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android Change TextView来自另一个类的文本_Java_Android_Android Activity - Fatal编程技术网

Java Android Change TextView来自另一个类的文本

Java Android Change TextView来自另一个类的文本,java,android,android-activity,Java,Android,Android Activity,我在main活动中有一个TextView,我想在另一个类中更改TextView文本 如何从另一个类访问MainActivity中的TextView 我尝试了以下方法 TextView TextView=(TextView)findViewById(R.id.myTextView) textView.setText(“文本”) 但是当调用setText()时,应用程序崩溃。我建议使用处理程序更新该活动的内容。这只是一种方法,有多种方法可以做到这一点 句柄的全部用途是让一些后台进程/线程将信息传递到

我在
main活动中有一个
TextView
,我想在另一个类中更改
TextView
文本

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

我尝试了以下方法

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

textView.setText(“文本”)


但是当调用
setText()
时,应用程序崩溃。我建议使用处理程序更新该活动的内容。这只是一种方法,有多种方法可以做到这一点


句柄的全部用途是让一些后台进程/线程将信息传递到UI线程。

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

您必须使用rununuithread(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);    
                }
            });
        }
    }
您可以查看此链接。请参阅此问题