0

我有一个 ListView,在列表的每个项目中都包含一个 TextView。

<LinearLayout
......>
<i>//other views</i>
.....
<TextView android:id="@+id/frequently_changing" > <i>//updated every 1s</i>

</LinearLayout>

如何从我的活动中更改 textView,例如 Timer、线程 .. 没有安全错误“只有创建视图的 UI 人线程有权更改它”

谢谢。

4

1 回答 1

0

尝试使用runOnUiThread将 Textview 从 Thread 更新为

public void myThread(){
        Thread th=new Thread(){

         @Override
         public void run(){
          try
          {

           while(true)
           {

           Thread.sleep(100L); //SET INTERVAL TO UPDATE TEXTVIEW TEXT
           Your_Current_Activity.this.runOnUiThread(new Runnable() {

            @Override
            public void run() {

            TextView txt= (TextView) findViewById(R.id.textview); 
            txt.setText(str);  SET TEXT HERE
           });
           }
          }catch (InterruptedException e) {
        // TODO: handle exception
       }
         }
        };
        th.start();
       }
于 2012-07-01T19:59:18.667 回答