2015-02-08 118 views
0

如何在另一個類中啓動活動。它在日食中。這只是開始一段時間後的主要活動。從TimerTask類開始活動

 public class FirstShow extends ActionBarActivity { 


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

      setContentView(R.layout.first_show); 

      Timer tm; 
      tm = new Timer(); 
      ttask task = new ttask(); 

      tm.schedule(task, 30000); 



     } 


    } 


     class ttask extends TimerTask { 

    @Override 
     public void run() { 
      // TODO Auto-generated method stub 
      FirstShow.class.startActivity()); 

     } 

} 

我想在幾秒鐘後開始另一項活動。我怎樣才能做到這一點?

+0

'FirstShow.class.startActivity());'從來沒有嘗試這樣的事情。你不能像POJO那樣處理活動。 「意圖」是唯一的方法。你爲什麼不閱讀developer.android.com上的文檔? – Simon 2015-02-08 10:35:37

回答

0
package com.example.teststart; 

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

public class FirstActivity extends Activity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_first); 
      new Handler().postDelayed(new Runnable() { 

       @Override 
       public void run() { 
        // TODO Auto-generated method stub 
        Intent i=new Intent(FirstActivity.this,secondactivity.class); 
      startActivity(i); 

      } 
      }, 3000); 

        } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.first, menu); 
     return true; 
    } 

} 

package com.example.teststart; 

import android.app.Activity; 
import android.os.Bundle; 

public class secondactivity extends Activity{ 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.secondactvity); 
} 
} 


<application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <activity 
      android:name="com.example.teststart.FirstActivity" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity 
      android:name="com.example.teststart.secondactivity" 
      android:label="@string/app_name" /> 
    </application> 
0
Friend if you want normally want to start activity after few second than use my code:-----> 

Thread thread = new Thread() { 
      public void run() { 

       try { 
        sleep(3*1000); 

        Intent i=new Intent(getBaseContext(),ManuList.class); 
        startActivity(i); 
        finish(); 

       } catch (Exception e) { 

       } 
      } 
     }; 

     thread.start(); 
    } 
0
 public class FirstShow extends ActionBarActivity { 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 

      setContentView(R.layout.first_show); 

      new Handler().postDelayed(new Runnable() { 

    @Override 
    public void run() { 
     // TODO Auto-generated method stub 
     Intent i=new Intent(FirstShow.this,secondactivity.class); 
startActivity(i); 

} 
}, 3000); 

     } 
} 
+0

對不起,它沒有工作。 3秒後關閉。 – 2015-02-09 11:54:47