2016-07-27 2 views
0

ユーザが自分のユーザ名とパスワードを入力しないと、私の問題はgetApplicationcontext()ですが、 "解決できません"というメッセージが表示されています。どのように私はそれを修正するのですか?-------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -----------------------------------------------Android Studio getApplicationcontext()

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(); 

       } 
      } 
     }); 
    } 

} 
+1

コンテキスト内の "c"は大文字ではありません。 "getApplicationContext()"を試してください。代わりに "this"を試してください。 – MorZa

答えて

2

LoginActivity.this代わりに使用this代わりのgetApplicationContext()

0

getApplicationContext()のを試してみてください:

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

このようにして、アクティビティのコンテキストを取得します。

0

getApplicationContext()を使用しないでください。 アクティビティコンテキストを取得する最善の方法は、LoginActivity.thisを使用することです。ここで、thisはコンテキスト自体を参照しています。

関連する問題