gpt4 book ai didi

Android 处理程序和可运行的空指针

转载 作者:太空狗 更新时间:2023-10-29 16:03:27 25 4
gpt4 key购买 nike

我有问题我正在使用处理程序和 runnable 来更新我的应用程序内的计时器,在我的 Runnable 内我正在更新 textview,1 分钟后我想显示一些内容,一切正常,直到我旋转屏幕,每个 textview 现在都是空的,我无法弄清楚为什么。我的代码:

Runnable mTimer = new Runnable() {
@Override
public void run() {
textView.setText(DateFormat.format("mm:ss", timers - System.currentTimeMillis()));

test();
mHandler.postDelayed(this, TIME);
}
};

知道为什么会发生这种情况吗?

最佳答案

Handler 可能将 Runnable 传递给被回收的 Activity。正确使用Handler就像

private Handler mHandler;
private TextView mTextView;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mHandler = new Handler();
setContentView(R.layout.yourView);
mTextView = findViewById(R.id.text);
}

@Override
protected void onStart() {
super.onStart();
//start updating every time Activity is started
handler.postDelayed(mTimer, oneMinuteDelay);
}

@Override
protected void onStop() {
super.onStop();
//make sure to remove all messages
handler.removeCallbacksAndMessages(null);
}

关于Android 处理程序和可运行的空指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23538843/

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