呼喚遠(yuǎn)方
2022-01-06 17:13:36
class BTCSync extends Thread{ public void run(){ while(!BTC && MainPage.BTC){ TextView BTCPer = (TextView) findViewById(R.id.lblBTCPer); BTCPer.setText(BTCProgress+"%"); if(BTCProgress == 100) { BTCPer.setText("100%"); BTC = true; } } } }錯誤是findViewById我的標(biāo)簽是 lblBTCPer。我有它的原因run()是這個塊需要運(yùn)行直到值達(dá)到 100。我知道通常情況下,您必須輸入 View v,但隨后它會否定 void run()。我尋找了一些解決方案,但我還沒有找到一個有效的例子。我也相信我昨天已經(jīng)發(fā)布了這個,但我似乎無法在任何地方找到它。它不在我的帳戶下,我清楚地記得發(fā)布它并等待回復(fù)。
3 回答

HUH函數(shù)
TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超4個贊

開心每一天1111
TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超13個贊

慕雪6442864
TA貢獻(xiàn)1812條經(jīng)驗(yàn) 獲得超5個贊
除了 findViewById 問題,您還嘗試在非 UI 線程上進(jìn)行 UI 工作。你需要使用 runOnUiThread() 否則你會崩潰:
runOnUiThread(new Runnable() {
@Override
public void run() {
BTCPer.setText(BTCProgress+"%");
if(BTCProgress == 100) {
BTCPer.setText("100%");
BTC = true;
}
}
});
添加回答
舉報
0/150
提交
取消