无法使用Intent在按钮单击时启动新活动,Logcat显示没有错误

时间:2017-05-23 15:23:48

标签: android android-intent

我正在尝试按下按钮启动活动,当前活动有3个按钮,当用户点击登录按钮时我需要打开登录活动,这是我的代码

当前活动:

import com.firebase.ui.auth.AuthUI;

导入com.google.firebase.auth.FirebaseAuth;

public class Startup extends AppCompatActivity implements View.OnClickListener{
    Intent intent;

    Button login;
    Button signin;
    Button fb;
    private  static final int RC_SIGN_IN= 0;

    private FirebaseAuth auth;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_startup);
        auth= FirebaseAuth.getInstance();

        login = (Button)findViewById(R.id.btlogin);
        signin = (Button)findViewById(R.id.btsignin);
        fb = (Button)findViewById(R.id.fb_con);


        signin.setOnClickListener(this);
        login.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                intent = new Intent(Startup.this, Login.class);
                startActivity(intent);



            }
        });
        fb.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                if (auth.getCurrentUser()!= null){
                    Intent intent = new Intent(Startup.this, Main2Activity.class);
                    startActivity(intent);
                    finish();

                }else {

                    startActivityForResult(AuthUI.getInstance().createSignInIntentBuilder().setProviders(
                            AuthUI.GOOGLE_PROVIDER)
                            .build(),RC_SIGN_IN
                    );

                }

            }


        });




    }


    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (requestCode == RC_SIGN_IN){
            if (resultCode==RESULT_OK){

                Log.d("Auth",auth.getCurrentUser().getEmail());
                Log.d("Auth Name",auth.getCurrentUser().getDisplayName());
                Intent intent = new Intent(this, Main2Activity.class);
                startActivity(intent);
                finish();


            }
            else {

                Log.d("Auth","Not Authenticated");

            }
        }
    }

    @Override
    public void onClick(View v){
        Intent intent = new Intent(this, Main2Activity.class);
        startActivity(intent);
        finish();
    }
}

Loginn类doesent start和app崩溃,Logcat中没有Real错误。

更新了清单 我的manfest:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="hilz.hellogreen">

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/icon"
        android:label="@string/app_name"
        android:roundIcon="@drawable/icon"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity
            android:name=".SplashActivity"
            android:theme="@style/SplashTheme">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".Main2Activity"
            android:label="@string/app_name"
            android:theme="@style/AppTheme.NoActionBar">

            <!-- <intent-filter> -->
            <!-- <action android:name="android.intent.action.MAIN" /> -->


            <!-- <category android:name="android.intent.category.LAUNCHER" /> -->
            <!-- </intent-filter> -->
        </activity>
        <activity
            android:name=".Startup"
            android:label="Hello Green"
            android:theme="@style/AppTheme.NoActionBar" />
        <activity android:name=".Orders"></activity>
        <activity android:name=".Login"></activity>
    </application>

</manifest>

更新:我现在注意到Logcat中的这个错误:

 E/SmartFaceManager: Listener does not implements SmartFaceInfoListener2

2 个答案:

答案 0 :(得分:2)

您的代码中存在拼写错误。

在java类中,您引用Loginn.class和清单.Login中不相同的内容。

Loginn.class更改为Login.class(这似乎是正确的拼写),它应该可以正常工作。

答案 1 :(得分:0)

因此,在我折射了一些类之后,我得到了最新版本,我从存储库中获得了最新的干净副本并再次尝试。显然这是因为Appcompat无法支持主题功能,为主题添加NoActionBar属性解决了问题