Android 我在onPostExecute中更新文本视图时遇到问题 类SetValues扩展异步任务{ 国际地位,净额; 设置值(int状态、int网络){ 这个状态=状态; 这个.net=net; } @凌驾 受保护的空位背景(空位…空位){ 更新(状态,网络); 返回null; } @凌驾 受保护的void onPostExecute(void避免){ super.onPostExecute(避免); weight.setText(decimalFormat.format(net)); 权重。无效(); } }
我无法更新权重文本视图。当我导航到上一个活动,然后转到此活动并打开对话框片段时,只有此问题发生 第一次工作很好 试试下面Android 我在onPostExecute中更新文本视图时遇到问题 类SetValues扩展异步任务{ 国际地位,净额; 设置值(int状态、int网络){ 这个状态=状态; 这个.net=net; } @凌驾 受保护的空位背景(空位…空位){ 更新(状态,网络); 返回null; } @凌驾 受保护的void onPostExecute(void避免){ super.onPostExecute(避免); weight.setText(decimalFormat.format(net)); 权重。无效(); } },android,Android,我无法更新权重文本视图。当我导航到上一个活动,然后转到此活动并打开对话框片段时,只有此问题发生 第一次工作很好 试试下面 class SetValues extends AsyncTask<Void, Void, Void> { int status, net; SetValues(int status, int net) { this.status = status; this.net = net;
class SetValues extends AsyncTask<Void, Void, Void> {
int status, net;
SetValues(int status, int net) {
this.status = status;
this.net = net;
}
@Override
protected Void doInBackground(Void... voids) {
update(status, net);
return null;
}
@Override
protected void onPostExecute(Void aVoid) {
super.onPostExecute(aVoid);
weight.setText(decimalFormat.format(net));
weight.invalidate();
}
}
或
您的问题不清楚,请尝试runOnUIThread,我认为应该首先检查onPostExecute()是否执行。当您从上一个活动返回到此活动时,可能是AsyncTask已终止executing@ArwyShelke是的,onPostExecute()执行。当我尝试跑步的时候,我读到了同样的内容happening@Ho他试过了,兄弟。。同样的事情也发生在runOnUiThread身上。它没有起作用。。这就是我在AsyncTask中尝试的。这个问题第二次出现意味着我可能遗漏了一些东西,请在decimalFormat.format(net)返回的内容之后进行检查。
class SetValues extends AsyncTask<Void, Void, Void> {
int status, net;
SetValues(int status, int net) {
this.status = status;
this.net = net;
}
@Override
protected Void doInBackground(Void... voids) {
update(status, net);
return null;
}
@Override
protected void onPostExecute(Void aVoid) {
super.onPostExecute(aVoid);
weight.setText(decimalFormat.format(net));
weight.invalidate();
}
}
weight.post(new Runnable() {
public void run() {
weight.setText(decimalFormat.format(net));
}
});
runOnUiThread(new Runnable() {
@Override
public void run() {
weight.setText(decimalFormat.format(net));
});