【发布时间】:2014-05-17 04:30:41
【问题描述】:
在 MainActivity 我有一个 TextView:textV1。我在 MainActivity 中也有一个更新该文本视图的方法:
public void updateTheTextView(final String t) {
MainActivity.this.runOnUiThread(new Runnable() {
public void run() {
TextView textV1 = (TextView) findViewById(R.id.textV1);
textV1.setText(t);
}
});
}
在 BroadcasrReceiver 中,我需要更新 MainActivity 中 textV1 中的文本。
public class NotifAlarm extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// other things done here like notification
// NEED TO UPDATE TEXTV1 IN MAINACTIVITY HERE
}
}
如何做到这一点? BroadcastReceiver 从服务运行。我无法更改此代码。我可以从 onReceive() 访问和更改 MainActivity 中的 textV1 吗?我尝试了很多事情,但都失败了。
【问题讨论】:
-
只取一个静态字符串,然后将这个textview的结果存储在其中,并在这个类中访问它。
-
感谢 InnocentKiller 的回复。抱歉,我不确定你的意思。你能解释一下吗?感谢您的帮助。
-
在 MainActivity 中声明一个静态字符串变量,然后将 textview 的值存储在该字符串中,然后您可以在任何类中的任何位置使用该字符串。
-
我认为你可以做到这一点,但我不确定,但请尝试一下。
-
谢谢,但是我可以使用静态字符串,这不会改变 mainactivity 中 textview 中的文本。我需要能够更改文本形式 onreceive()。
标签: java android user-interface background textview