Я хочу показать цифры от 1 до 100 в порядке продолжения в TextView и подождать 1 секунду после печати каждого номера. Я также хочу реализовать его с помощью служб Android. Я не знаю разницы между UIHandler и Handler. Когда я говорю об этой проблеме, все, что я получаю, - это разница между обработчиком и потоком.
Пожалуйста, помогите мне это, Спасибо заранееВ чем разница между UIHandler и обработчиком
private static final int SHOW_MESSAGE = 1;
private static final int m_cdelay = 1000;
private UIHandler m_cUIHandler;
public int m_cI= 0;
TextView m_cTextShow;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
m_cTextShow = (TextView) findViewById(R.id.textview1);
for(m_cI=1; m_cI <= 100; m_cI++){
//m_cUIHandler = new UIHandler();
//m_cUIHandler.sendEmptyMessageDelayed(SHOW_MESSAGE, 1000);
showMessage(m_cI);
}
}
private void showMessage(int m_cI2) {
for(m_cI=1; m_cI <= 100; m_cI++){
m_cTextShow.setText(""+m_cI);
new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
try {
Thread.sleep(m_cdelay);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}}).start();
}
}
@Override
protected void onResume() {
super.onResume();
startService(new Intent(this, NumberService.class));
}
public final class UIHandler extends Handler {
@Override
public void handleMessage(Message pObjMessage) {
switch(pObjMessage.what) {
case SHOW_MESSAGE:
m_cTextShow.setText(""+m_cI);
break;
}
}
}
где твоя проблема? как говорится в вашем вопросе, вы строите класс под названием «UIHandler», а затем вы спрашиваете нас, в чем разница. На самом деле нет никакой разницы между UIHandler и Handler. UIHandler обрабатывает действия в пользовательском интерфейсе, который обработчик делает то же самое в любом месте. –
На самом деле я новичок в android, и, поскольку теперь я знаю разницу между ними, и я также хотел бы знать, есть ли какая-либо альтернатива по потоку в моем коде, поскольку она не делает задержку в 1 секунду. –
уверен, не используйте Thread, просто используйте Handler.postDelayed() – pskink