Java 如何在AppCompatActivity中使用GetSharedReferences

Java 如何在AppCompatActivity中使用GetSharedReferences,java,android,android-studio,Java,Android,Android Studio,我有一个扩展了AppCompatActivity的登录类,但当我想检查数据并使用getSharedReferences()时,它会出现运行时错误,并将强制停止!我该怎么办 这是我的密码: package biz.test.internet; import android.content.Context; import android.content.SharedPreferences; import android.os.Bundle; import android.preference.Pre

我有一个扩展了
AppCompatActivity
的登录类,但当我想检查数据并使用
getSharedReferences()
时,它会出现运行时错误,并将强制停止!我该怎么办

这是我的密码:

package biz.test.internet;
import android.content.Context;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceActivity;
import android.content.Intent;
import android.preference.PreferenceFragment;
import android.support.v4.content.SharedPreferencesCompat;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.preference.PreferenceManager;
import android.content.Intent;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import java.util.Random;

public class Login extends AppCompatActivity {
    SharedPreferences sharedpreferences = getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE);

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.login);
    }        
}
注意,如果我禁用
SharedReferences SharedReferences=GetSharedReferences(MyPREFERENCES,Context.MODE\u PRIVATE)
然后运行时错误将被修复,如果我使用
首选活动
而不是
AppCompatActivity
设置内容视图
方法将出现错误

我不知道如何使用它们

谢谢。

您必须将调用放入您的
onCreate
方法中

SharedPreferences sharedpreferences;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.login);
    sharedpreferences = getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE);
} 
您必须将调用放入
onCreate
方法中

SharedPreferences sharedpreferences;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.login);
    sharedpreferences = getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE);
} 

你能分享一下logcat错误信息吗?你能分享一下logcat错误信息吗?谢谢,它现在可以工作了,我已经找了3个小时了!:)原因是什么?@Saeid因为你需要一个上下文来获取创建后的pref。谢谢,它现在可以工作了,我花了3个小时才找到它!:)原因是什么?@Saeid因为您需要一个上下文来获取onCreate之后的pref。