0

プログレスバーがロードされた後、新しいアクティビティを開始するのに問題があります。プログレスバーで動かなくなってしまいました。新しいアクティビティをどこに置くべきかわかりません。私の問題に対する解決策はありますか?

ProgressBar myProgressBar;
int myProgress = 0;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.splash);

    myProgressBar=(ProgressBar)findViewById(R.id.progressbar_Horizontal);

    new Thread(myThread).start();
}

private Runnable myThread = new Runnable(){

    public void run() {
        // TODO Auto-generated method stub
        while (myProgress<100){
            try{
                myHandle.sendMessage(myHandle.obtainMessage());
                Thread.sleep(50);
            }
            catch(Throwable t){

            }
        }
    }
    Handler myHandle = new Handler(){

        @Override
        public void handleMessage(Message msg) {
            // TODO Auto-generated method stub
            myProgress++;
            myProgressBar.setProgress(myProgress);
        }
    };
};

}

4

2 に答える 2

2

これをボタンクリックイベントに追加してください。

            progressDialog = ProgressDialog.show(this, "", "Loading...");
            new Thread() {

                public void run() {

                    Intent ddIntent = new Intent(
                            MainActivity.this, MainWall.class);
                    startActivity(ddIntent);
                    progressDialog.dismiss();
                }

            }.start();
于 2012-05-10T04:34:46.783 に答える
0
public void run() {
    //don't hard code things, use a constant for max progress value
    while ( myProgress<MAX_PROGRESS ){
        try{
            myHandle.sendMessage(myHandle.obtainMessage());
            //same
            Thread.sleep( SLEEP_TIME );
        } catch(Exception ex){
          //never live an empty catch statement, you are missing exceptions and
          //can't correct them
          Log.e( "MyCurrentClass", "Error during async data processing",e );
        }//catch
    }//while
    //start new activity here
    startActivity( MyClass.this, NewActivity.class );
}//met
于 2012-05-08T21:39:35.137 に答える