RagnaLugria
RagnaLugria

Reputation: 141

Android Studio getApplicationcontext()

I am trying to have messages pop up if the user does not enter their username and password, however my problem is the getApplicationcontext(), it says "cannot resolve method". how do i fix it?-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

package com.example.rojean.prelim_project;

import android.support.v7.app.AppCompatActivity;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class LoginActivity extends AppCompatActivity {

    Button loginBtn;
    EditText txtUsername, txtPassword;
    AccountsManagement session;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);

        Object getApplication;
        session = new AccountsManagement(getApplicationcontext());

        txtUsername = (EditText) findViewById(R.id.nameField);
        txtPassword = (EditText) findViewById(R.id.passwordField);

        Toast.makeText(getApplicationContext(),
                "User Login Status: " + session.isUserLoggedIn(),
                Toast.LENGTH_LONG).show();

        loginBtn = (Button)findViewById(R.id.loginBtn);
        loginBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                String username = txtUsername.getText().toString();
                String password = txtPassword.getText().toString();

                //Validation method
                if(username.trim().length() > 0 && password.trim().length() > 0){
                    // For testing puspose username, password is checked with static data
                    // username = admin
                    // password = admin

                    if(username.equals("admin") && password.equals("admin")){

                        // Creating user login session
                        // Statically storing name="Android Example"
                        // and email="[email protected]"
                        session.createUserLoginSession("Android Example",
                                "[email protected]");

                        // Starting MainActivity
                        Intent i = new Intent(getApplicationContext(), MainActivity.class);
                        i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

                        // Add new Flag to start new Activity
                        i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                        startActivity(i);

                        finish();
                    }else{

                        // username / password doesn't match&
                        Toast.makeText(getApplicationContext(),
                                "Username/Password is incorrect",
                                Toast.LENGTH_LONG).show();
                    }
                }else{

                    // user didn't entered username or password
                    Toast.makeText(getApplicationContext(),
                            "Please enter username and password",
                            Toast.LENGTH_LONG).show();

                }
            }
        });
    }

}

Upvotes: 2

Views: 6022

Answers (3)

Aritra Roy
Aritra Roy

Reputation: 15615

Do not use getApplicationContext(). The best way to get the Activity context is to use LoginActivity.this, where this refers to the context itself.

Upvotes: 0

Carlo
Carlo

Reputation: 835

Use this instead of getApplicationContext():

Toast.makeText(this, "User Login Status: " + session.isUserLoggedIn(), Toast.LENGTH_LONG).show;

In this way you get the activity's context.

Upvotes: 0

Sathish Kumar J
Sathish Kumar J

Reputation: 4345

Try LoginActivity.this instead of getApplicationContext()

Upvotes: 3

Related Questions