2011-06-30 13 views
0

別のアクティビティを表示するには? 画像を表示する1つの画像ビューのスプラッシュを持つ1つのアクティビティを表示したいとします。私は5秒間だけそれを表示し、別のアクティビティに移動したい。スプラッシュはエミュレータで表示されていますが、別のアクティビティメニューは表示されません。別のアクティビティを表示する方法

は、ここに私のコードです:

com.basic.android; 

import java.util.Timer; 


import java.util.TimerTask; 

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.os.Handler; 

public class androidbasics extends Activity { 
/** Called when the activity is first created. */ 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.splash); 

} 
public void toCallActivity() { 
    TimerTask startNewActivity; 
final Handler handler = new Handler(); 
final Timer timer = new Timer(); 


     startNewActivity = new TimerTask() { 

      @Override 
      public void run() { 
       // TODO Auto-generated method stub 
       handler.post(new Runnable() { 
        public void run() { 

         try { 
          timer.cancel(); 
          startActivity(new Intent(androidbasics.this,menu.class)); 
         } catch (Exception e) { 
          // TODO Auto-generated catch block 


         } 

        } 
       }); 

      } 

     }; 

     timer.schedule(startNewActivity, 0,5000); 

    } 
} 
+0

....これを試してみてください。私は5秒間だけ表示してから、別のアクティビティに移動します。スプラッシュはエミュレータで表示されていますが、別のアクティビティメニューは表示されません。 – bindu

+0

あなたの質問はコメントではありません。あなたはそれを編集することができます。 –

+0

ようやく私はそれを得た – bindu

答えて

0

あなたはtoCallActivity()を呼び出していなかったので、あなたの新しい活動は次のようにfront.Writeに来ていません。

@Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.splash); 
    toCallActivity(); 

    } 
0

私は画像を表示する一つの画像を表示スプラッシュを持っている一つの活性を表示したい

@Override 
    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     BackgroundTask b = new BackgroundTask(); 
     b.execute("Main"); 

    } 
    /** Called when the activity is first created. */ 
    class BackgroundTask extends AsyncTask<String , Void, Void> 
    { 
     @Override 
     protected void onPreExecute() 
     { 

      setContentView(R.layout.splash); 
     } 
     @Override 
     protected Void doInBackground(String... params) 
     { 
      // TODO Auto-generated method stub 
      int pause=5000; 
      int interval =1000; 
      int counter=0; 
      while(counter<pause) 
      { 
       try 
       { 
        Thread.sleep(interval); 
        counter+=interval; 
       } 
       catch(Exception e) 
       { 
        System.out.println(e); 
       } 
      } 
      return null; 
     } 
     @Override 
     protected void onPostExecute(Void result) 
     { 
      startActivity(new Intent(androidbasics.this,menu.class)); 
      androidbasics.this.finish(); 
     } 


    } 
0
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    Thread splashTread = new Thread() { 
     @Override 
     public void run() { 
      try { 
        int waited = 0; 
        while(_active && (waited < _splashTime)) { 
        sleep(100); 
        if(_active) { 
         waited += 100; 
        } 
       } 
      } 
      catch(InterruptedException e) 
      { 

      } finally { 
       finish(); 
       startActivity(new Intent(firstactivity.class,secondActivity.class)); 
       stop(); 
      } 
     } 
    }; 
    splashTread.start(); 
} 
関連する問題