У меня есть цикл for, в котором я бы назвал метод setText
. Это работает без каких-либо ошибок, за исключением того факта, что текст не изменяется до тех пор, пока скрипт не будет запущен. То, что я хочу, это изменить код каждый раз, когда я вызываю метод setText
. Я прикрепил свой код ниже, он должен быть довольно прочным. код:Периодически обновляемый текст не отображается
package com.example.zoe.andone;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.MenuItem;
import android.view.View;
import android.widget.TextView;
import java.util.concurrent.TimeUnit;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void startLoop(View view) {
String string = getString(R.string.hello);
((TextView)findViewById(R.id.hello)).setText("starting...");
for (int i = 0; i < 10; i++) {
String updated = Integer.toString(i);
((TextView)findViewById(R.id.hello)).setText(updated);
try {
Thread.sleep(250);
} catch(InterruptedException ex) {
Thread.currentThread().interrupt();
}
}
((TextView)findViewById(R.id.hello)).setText("done!");
}
}
Использовать 'Handler' вместо вызова' Thread.sleep (250); 'on main Thread –
Не уверен, что я следую. – pudility