最初にデータをダウンロードしてデータベースを更新するアプリケーションを書いています。これにはかなりの時間がかかるため、ユーザーにプログレス バーと、現在行われていることに関するテキスト情報を表示したいと考えています。
私のコード:
public class MainActivity extends Activity {
private static final String TAG = "MainActivity";
public static int count = 0;
public static File path;
private ProgressBar myProgressBar;
private int myProgress = 0;
private TextView textView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myProgressBar=(ProgressBar)findViewById(R.id.progressbar_Horizontal);
textView = (TextView) findViewById(R.id.show_progress);
new Thread(progressBarThread).start();
...
... データを更新しています ...
Intent showList = new Intent(this, ListFragmentActivity.class);
startActivity(showList);
}
private Runnable progressBarThread = new Runnable(){
public void run() {
// TODO Auto-generated method stub
while (myProgress<100){
try{
myHandle.sendMessage(myHandle.obtainMessage());
Thread.sleep(1000);
}
catch(Throwable t){ }
}
}
Handler myHandle = new Handler(){
@Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
//
myProgressBar.setProgress(myProgress);
}
};
};
}
たとえば myProgress=60; を使用して、進行状況を手動で設定しようとしました。textView.setText("Die Datenbank wird aktualisiert.");
残念ながら、ProgressBar もテキスト情報も表示されません。
よろしくお願いします。