gpt4 book ai didi

android - 使用本地服务更新 Activity 中的 Textview

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:28:02 26 4
gpt4 key购买 nike

我有一个带有 R.id.eventDistance 和 R.id.eventTime 的 Activity 来显示基于当前位置的距离和旅行时间。我使用我的定位服务类每 30 秒计算一次这些值。

我的问题是:如何更新 Activity 中的 TextView?我尝试查找问题并找到了一些可能的解决方案,例如使用 BroadcastReceiver 并在 onReceive() 方法中调用 TextView.setText() 。我不确定这是怎么做到的。我应该像这样传递 Activity 类吗:

public class MyReceiver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {
Intent i = new Intent(context, HomeActivity.class);
}
}

我不确定在那之后该做什么。感谢您的帮助。

最佳答案

请看这个流程。

1.当您想要更新 UI 时,在您的 LocationService 类中。在你的情况下,它应该每 30 秒调用一次。

Intent i = new Intent("LOCATION_UPDATED");
i.putExtra("<Key>","text");

sendBroadcast(i);

2.在您的 UI (HomeActivity) 类中

在 onCreate() 中

registerReceiver(uiUpdated, new IntentFilter("LOCATION_UPDATED"));

在类里面

private BroadcastReceiver uiUpdated= new BroadcastReceiver() {

@Override
public void onReceive(Context context, Intent intent) {

TextView.setText(intent.getExtras().getString("<KEY>"))

}
};

在 onDestroy() 中

unregisterReceiver(uiUpdated);

关于android - 使用本地服务更新 Activity 中的 Textview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15059886/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com