-1

runOnUiThread() を理解するのにいくつか問題があります。TextView を継続的に更新したいのですが、何も起こりません。GUI はまだブロックされています。誰か助けてくれませんか?

@Override public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);        
        runner();
    }

public void runner (){
    String[] testFiles = GeneralHelper.getPictureFileList();
    TextView text = (TextView) findViewById(R.id.textfeld); 
    for (int i = 0; i < 2; i++) 
    {   
        runOnUiThread(new Runnable() {
            public void run() {
                text.setText("\n" + GeneralHelper.getPictureFileList()[i]);    
            }


           });
           ...
           // image analysis
}}
4

2 に答える 2

0

ループには 2 回の反復しかなく、非常に高速に実行されるため、変更を確認することさえできません。結果のみが表示GeneralHelper.getPictureFileList()[1] され、UiThread 内にいるため、使用しないでください。ただ:

public void runner (){
    String[] testFiles = GeneralHelper.getPictureFileList();
    TextView text = (TextView) findViewById(R.id.textfeld); 
    for (int i = 0; i < 2; i++) 
    {
            text.setText("\n" + GeneralHelper.getPictureFileList()[i]);    
    }
}
于 2013-01-25T17:58:10.160 に答える
-1

runOnUiThread() を含めて TextView を更新できる独自のタイマー クラスを作成する必要があるようです。これは、ユーザーがボタンを押すとすぐに、毎秒カウントアップする時間を表示する必要がある、私が書いたプログラムで行ったことです。

于 2013-01-25T17:55:38.830 に答える