意图不允许我去主页

时间:2015-06-29 00:39:43

标签: android android-intent android-activity

我在使用意图时遇到了问题。正如你在下面看到的那样,我在登录时有一个意图,如果它是真的,它将带我进入" HomePageActivity"。问题是,它并没有让我进入HomePageActivity"。我非常肯定" HomePageActivity"是正确的。所有活动中的所有按钮都会出现此问题。没有什么可以让我回到我的" HomePageActivity"。当我改变" HomePageActivity"对于其他一些活动,它将进行该活动。但是我想去" HomePageActivity"。有人可以帮我回家吗?

这是我的" SignInActivity"

的代码
public class SignInActivity extends ActionBarActivity {

protected EditText mUsernameSignIn;
protected EditText mPasswordSignin;
protected Button mSignInButton;
protected Button mSignUpButton;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_sign_in);

    //Initialize
    mUsernameSignIn = (EditText) findViewById(R.id.usernameSignIn);
    mPasswordSignin = (EditText) findViewById(R.id.passwordSignIn);
    mSignInButton = (Button) findViewById(R.id.signinBtnSignIn);
    mSignUpButton = (Button) findViewById(R.id.signupBtnSignIn);

    //Listen to when the log in mSignIn Button is clicked
    //Sign in the user using Parse SDK
    mSignInButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //get the user inputs from edit text and covert to string
            String username = mUsernameSignIn.getText().toString().trim();
            String password = mPasswordSignin.getText().toString().trim();
            //Loging In

            ParseUser.logInInBackground(username, password, new LogInCallback() {
                @Override
                public void done(ParseUser parseUser, com.parse.ParseException e) {
                    if (e == null) {
                        //Success!
                        Toast.makeText(SignInActivity.this, "Welcome Back", Toast.LENGTH_LONG).show();

                        //bring user to HomePageActivity
                        Intent GoHome = new Intent(SignInActivity.this, HomePageActivity.class);
                        startActivity(GoHome);


                    } else {
                        //Sorry, Sign in Failed!

                        AlertDialog.Builder builder = new AlertDialog.Builder(SignInActivity.this);
                        builder.setMessage(e.getMessage());
                        builder.setTitle("Sorry, Sign In Failed");
                        builder.setPositiveButton("ok", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialogInterface, int which) {
                                //close the dialog
                                dialogInterface.dismiss();
                            }
                        });
                        AlertDialog dialog = builder.create();
                        dialog.show();
                    }

                }
            });
        }
    });

    //Go Sign Up
    mSignUpButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent GoSignUp = new Intent(SignInActivity.this, RegisterActivity.class);
            startActivity(GoSignUp);
        }

    });


}

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

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();

    //noinspection SimplifiableIfStatement
    if (id == R.id.action_settings) {
        return true;
    }

    return super.onOptionsItemSelected(item);
}

}

这是我和#34; HomePageActivity"

的代码
public class HomePageActivity extends ActionBarActivity {


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_home_page);
    // Enable Local Datastore.
    Parse.enableLocalDatastore(this);

    Parse.initialize(this, "EshgpTdW5ialGcLR7ing2x4jhkkgmbHBVeKwLh0J", "av66d87CSHlbRElTPPRx5jLWGefLYwfZ5Y4GHsZ6");
    ParseObject testObject = new ParseObject("TestObject");
    testObject.put("foo", "bar");
    testObject.saveInBackground();
}

//add pet button brings to add pet activity
public void addPetBtn(View v) {
    Intent intent = new Intent(HomePageActivity.this, AddPetActivity.class);
    startActivity(intent);
}

//register button brings to registration activity
public void registerBtn(View v) {
    Intent intent = new Intent(HomePageActivity.this, RegisterActivity.class);
    startActivity(intent);
}


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

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();

    switch (id) {
        case R.id.action_update:
            //take user to update activity
            break;

        case R.id.action_log_out:
            // take user to log out activity

            ParseUser.logOut();
            //take user back to Log in Screen
            Intent GoHome = new Intent(HomePageActivity.this,SignInActivity.class);
            startActivity(GoHome);
            break;


    }

    return super.onOptionsItemSelected(item);
}

}

这是Android Manifest

<?xml version="1.0" encoding="utf-8"?>

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

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name=".HomePageActivity"
        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=".AddPetActivity"
        android:label="@string/title_activity_add_pet" >
    </activity>
    <activity
        android:name=".RegisterActivity"
        android:label="@string/title_activity_register" >
    </activity>
    <activity
        android:name=".SignInActivity"
        android:label="@string/title_activity_sign_in" >
    </activity>
</application>

2 个答案:

答案 0 :(得分:0)

如果要返回主活动,可以调用finish()来关闭当前活动。 seems this may help you

答案 1 :(得分:0)

而不是通过

启动HomePageActivity
Intent GoHome = new Intent(SignInActivity.this, HomePageActivity.class);
startActivity(GoHome);

您可以通过以下方式完成当前活动:

finish();

这是因为您的HomePageActivity正在启动其他两个活动,您可以在这些活动中使用finish()方法返回HomePageActivity。

在这里阅读更多内容: Android: Go back to previous activity