android - 我的应用程序不会运行,也不会切换 Activity

标签 android loops android-intent android-activity manifest

我想创建一个初始屏幕,然后它会移动到登录/注册屏幕。我的代码如下所示:

import android.app.Activity;
import android.content.Intent;

import android.os.Bundle;

public class AssaultTDActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        this.TimeOut();
}

public void TimeOut(){
    long start = System.currentTimeMillis();
    boolean continueloop = true;
    long timenow;

    while (continueloop = true){
        timenow = System.currentTimeMillis();
        if (timenow - start > 5000){
            continueloop = false;
            this.GoToRegister();
        }
    }
}

public void GoToRegister(){
    Intent i = new Intent(AssaultTDActivity.this, register_activity.class);
    startActivity(i);
    finish();
}

import android.app.Activity;

import android.os.Bundle;
import android.widget.Button;
import android.widget.TextView;


public class register_activity extends Activity {
     @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.register);

        }
}

还有我的 list 文件:

 <application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >
    <activity android:screenOrientation="landscape"
        android:label="@string/app_name"
        android:name=".AssaultTDActivity" >
        <intent-filter >
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity class =".register_activity"  
        android:label="Log in" 
        android:screenOrientation="landscape" 
        android:name=".register_activity" >

    </activity>


</application>

那我是不是做错了什么? 还有在循环时“执行事件”的命令,所以你会陷入循环吗?

最佳答案

我建议您允许 Android 使用 Handler 处理您的超时及其postDelayed 方法:

public class SplashPlayActivity extends Activity {
    private Handler mHandler;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        mHandler = new Handler();
        mHandler.postDelayed(new Runnable() {

            @Override
            public void run() {
                GoToRegister();
                finish();
            }
        }, 5000 /** timout in millis */);
    }

    private void GoToRegister() {
        // start the activity here
    }
}

关于android - 我的应用程序不会运行,也不会切换 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8639626/

相关文章:

android - 静态方法或库中的普通方法

android - java.lang.IllegalStateException : Cannot perform this action on a not sealed instance 错误

java - 当用户输入错误的输入时,我不知道如何重新启动循环

r - R中的小数循环

android - 从 ionic 应用程序中删除控制台日志(发布)

android - Android WebView 上的 Javascript 无法正常工作

java - 数字格式异常 : Invalid int: "1"

java - getSupportFragmentManager() 在我的适配器类中不起作用?

android - 错误 R.id.togglebutton1 等

Android - 使用带有通知的未决 Intent