2011-05-31 85 views
0

我是新開發的Android開發人員,我試圖在第一次活動延遲一段時間後加載第二個活動,但尚未取得成功。第二活動不加載

這裏是我的splashactivity代碼

package com.test.android.app; 

import java.util.Timer; 
import java.util.TimerTask; 

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.Gravity; 
import android.view.ViewGroup.LayoutParams; 
import android.widget.Gallery; 
import android.widget.ImageView; 
import android.widget.LinearLayout; 

public class SplashActivity extends Activity{ 

    LinearLayout linearLayout; 
    Timer timer; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     System.out.println("SplashActivity onCreate method called up"); 

     linearLayout = new LinearLayout(this); 


     ImageView image = new ImageView(this); 
     image.setImageResource(R.drawable.rc_logo); 
     image.setAdjustViewBounds(true); 
     image.setLayoutParams(new Gallery.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); 
     //linearLayout.setFrame(30,30,image.getWidth(),image.getHeight()); 
    // Add the ImageView to the layout and set the layout as the content view 
     linearLayout.addView(image); 
     linearLayout.setGravity(Gravity.CENTER); 
     setContentView(linearLayout); 


     timer = new Timer(); 

     timer.schedule(new LoadHomeScreenTask(this), 5*1000); 

    } 
    protected void onStart() 
    { 
     super.onStart(); 
     Log.d("SplashActivity","onStart called up"); 

    } 

    protected void onRestart() 
    { 
     super.onRestart(); 
     Log.d("SplashActivity","onRestart called up"); 
    } 

    protected void onResume() 
    { 
     super.onResume(); 

     Log.d("SplashActivity","onResume called up"); 
    } 

    protected void onPause() 
    { 
     super.onPause(); 

     Log.d("SplashActivity","onPause called up"); 
    } 

    protected void onStop() 
    { 
     super.onStop(); 

     Log.d("SplashActivity","onStop called up"); 
    } 

    protected void onDestroy() 
    { 
     super.onDestroy(); 
     Log.d("SplashActivity","onDestroy method called up"); 
    } 

    public void startHomeActivity() 
    { 
     Log.d("SplashActivity","startActivity called up"); 

     //Intent intent = new Intent(SplashActivity.this,HomeScreenActivity.class); 

     //HomeScreenActivity homeScreenActivity = new HomeScreenActivity(); 
     startActivity(new Intent(SplashActivity.this,HomeScreenActivity.class)); 
     finish(); 
    } 

} 

class LoadHomeScreenTask extends TimerTask { 
    SplashActivity splashActivity; 
    public LoadHomeScreenTask(SplashActivity splashActivity) 
    { 
     this.splashActivity = splashActivity; 
    } 
    public void run() { 
     Log.d("LoadHomeScreenTask"," run method called up"); 
     this.splashActivity.startHomeActivity(); 
     this.splashActivity.timer.cancel(); 
    } 
} 

以下是我的第二個活動

package com.test.android.app; 

import android.app.Activity; 
import android.graphics.Color; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.Gravity; 
import android.view.ViewGroup.LayoutParams; 
import android.widget.Gallery; 
import android.widget.ImageView; 
import android.widget.LinearLayout; 

public class HomeScreenActivity extends Activity { 

LinearLayout linearLayout; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     Log.d("HomeScreenActivity", "oncreate called up"); 
     linearLayout = new LinearLayout(this); 
     linearLayout.setBackgroundColor(Color.GREEN); 

     ImageView image = new ImageView(this); 
     image.setImageResource(R.drawable.hanuman); 
     image.setAdjustViewBounds(true); 
     image.setLayoutParams(new Gallery.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); 
     //linearLayout.setFrame(30,30,image.getWidth(),image.getHeight()); 
    // Add the ImageView to the layout and set the layout as the content view 
     linearLayout.addView(image); 
     linearLayout.setGravity(Gravity.CENTER); 

     setContentView(linearLayout); 


    } 
    protected void onStart() 
    { 
     super.onStart(); 
     Log.d("HomeScreenActivity","onStart method called up"); 

    } 

    protected void onRestart() 
    { 
     super.onRestart(); 
     Log.d("HomeScreenActivity","onRestart method called up"); 
    } 

    protected void onResume() 
    { 
     super.onResume(); 
     Log.d("HomeScreenActivity","onResume method called up"); 
    } 

    protected void onPause() 
    { 
     super.onPause(); 
     Log.d("HomeScreenActivity","onPause method called up"); 
    } 

    protected void onStop() 
    { 
     super.onStop(); 
     Log.d("HomeScreenActivity","onStop method called up"); 
    } 

    protected void onDestroy() 
    { 
     super.onDestroy(); 
     Log.d("HomeScreenActivity","onDestroy method called up"); 
    } 



} 

這裏是logchat

05-31 11:14:01.509: DEBUG/SplashActivity(798): onStart called up 
05-31 11:14:01.509: DEBUG/SplashActivity(798): onResume called up 
05-31 11:14:01.740: INFO/ActivityManager(52): Displayed activity com.rajcomics.android.comicsapp/.SplashActivity: 1065 ms (total 1065 ms) 
05-31 11:14:06.503: DEBUG/LoadHomeScreenTask(798): run method called up 
05-31 11:14:06.503: DEBUG/SplashActivity(798): startActivity called up 
05-31 11:14:06.509: INFO/ActivityManager(52): Starting activity: Intent { cmp=com.rajcomics.android.comicsapp/.HomeScreenActivity } 

請幫我找到了解決方案。

回答

0

嘗試以下


public class SplashActivity extends Activity { 
protected int _splashTime = 3000; 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.splash); 
    Handler handler = new Handler(); 
    handler.postDelayed(new Runnable() { 
     public void run() { 
      finish(); 
      startActivity(new Intent(SplashActivity.this,HomeScreenActivity.class)); 
     } 
    }, _splashTime); 
    } 
} 

+0

得到了解決,實際上是不添加HomeScreenActivity到清單文件這就是爲什麼我想這是不加載第二個活動,增加它後,我的代碼開始工作的罰款。 .. – Ankita 2011-05-31 08:36:43

相關問題