Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android循环更新文本视图_Android_Textview - Fatal编程技术网

Android循环更新文本视图

Android循环更新文本视图,android,textview,Android,Textview,我正在尝试创建一个更新TextView的循环。 其想法是创建某种进度指标,以增加 装载程序 这是我尝试过的,但结果是我只看到循环的最后一次更新,所以我得到“100%”,没有递增 runOnUiThread(new Runnable() { public void run() { final TextView progesss = (TextView)findViewById(R.id

我正在尝试创建一个更新TextView的循环。 其想法是创建某种进度指标,以增加 装载程序

这是我尝试过的,但结果是我只看到循环的最后一次更新,所以我得到“100%”,没有递增

    runOnUiThread(new Runnable() {
                         public void run() {
                            final TextView progesss = (TextView)findViewById(R.id.progress);
                            for(int k=1 ; k<=100; k++)
                            {
                                progesss.setText(String.valueOf(k) + "%");

                                try {
                                    Thread.sleep(15);
                                    } catch(InterruptedException e) {
                                    } 
                            }
                         }
                     });
runOnUiThread(新的Runnable(){
公开募捐{
最终文本视图进度=(文本视图)findViewById(R.id.progress);

对于(int k=1;k您的
Runnable
在执行
thread.sleep
时会阻止UI线程。您应该再次发布一个新的
Runnable
。请尝试以下操作:

final Handler handler = new Handler();
handler.post( new Runnable(){ 
    private int k = 0;

    public void run() {
        final TextView progess = (TextView)findViewById(R.id.progress);
        progess.setText(String.valueOf(k) + "%");

        k++;
        if( k <= 100 )
        {
            // Here `this` refers to the anonymous `Runnable`
            handler.postDelayed(this, 15);
        }
    }
});
final Handler=new Handler();
handler.post(新的Runnable(){
私有int k=0;
公开募捐{
最终文本视图进度=(文本视图)findViewById(R.id.progress);
proges.setText(String.valueOf(k)+“%”;
k++;

如果(k您使用后台线程和UI线程

public class testAsync extends AsyncTask<Void, Integer, Voi>{

TextView progress; // You will set TextView referans

protected void doInBackground(){

 for(int k=1 ; k<=100; k++)

  {

    try {
    Thread.sleep(1000);
    publishProgress(k); 
   } catch(InterruptedException e) {}
   }
 }
protected void onProgressUpdate(Integer.. values)
{
progress.setText(values[0]+");
}

}



}
公共类testAsync扩展异步任务{
TextView progress;//您将设置TextView引用
受保护的void doInBackground(){
对于(int k=1;k