簡體   English   中英

Android從另一個類更改TextView文本

[英]Android Change TextView text from another class

我在MainActivity有一個TextView ,我想在另一個類中更改TextView文本。

如何從另一個類訪問MainActivity TextView

我嘗試了以下內容

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。

我建議使用處理程序來更新該Activity的內容。 這只是一種方法,有多種方法可以做到這一點。

句柄的整個目的是讓一些后台進程/線程將信息傳遞到UI線程中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM