3

我有一个AsyncTask跑步。我有一个TextView我模仿Toast最初产生的消息。我想清除TextView成功OnPostExecute但它没有这样做。任务完成Toast工作正常。如何将TextView中的设置OnPostExecute为空白?用户仍在显示屏幕上TextView

错误情况的代码如下:

@Override
protected void onPostExecute(Void result) 
 { FetchingImage=0;
  if(webLoadError>0)
   {
    TextView text = (TextView) findViewById(R.id.textView2);
    String temp=" ";
    text.setText(temp);
    Toast.makeText(getApplicationContext(), "Image not available from the internet.\nDefault or last image loaded.\nTry again later.",Toast.LENGTH_LONG).show();
    }  
  }
4

2 回答 2

4

尝试类似:

((TextView) findViewById(R.id.textView2)).setText("");

编辑:

尝试在onCreatelike之外TextView text;然后在onCreateput 内部创建一个变量:text = (TextView) findViewById(R.id.textView2);

然后把它放在方法text.setText("");里面onPostExecute

看看这是否有效。

于 2012-07-27T02:31:54.820 回答
0

我知道这个线程很旧,但我想我找到了解决方案(至少它对我有用),也许它可以帮助其他人:

我有一个带有 3 个文本视图的视图,默认值从 AsyncTask 的“doInBackground”方法接收来自 Web 服务的值,然后在“onPostExecute”方法上更改其中的文本。问题在于,在第一次执行代码时,三个文本视图中只有一个显示来自 ws 的新文本(无论如何,这是一个实现 Zxing 条形码阅读器从产品读取条形码并从网络服务器获取价格的简单应用程序) ,接下来的执行(应用程序打开后)正常更新三个文本视图。

所以我注意到在第一次执行中更新其值的唯一 textview 的参数“android:textIsSelectable”=true,另外两个为 false。宾果游戏,在其他 2 个文本视图中将此参数更改为 true 解决了该问题。

于 2016-06-17T13:58:37.993 回答