Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/200.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 崩溃应用程序。安卓OnClick共享首选项_Android_Onclick_Sharedpreferences - Fatal编程技术网

Android 崩溃应用程序。安卓OnClick共享首选项

Android 崩溃应用程序。安卓OnClick共享首选项,android,onclick,sharedpreferences,Android,Onclick,Sharedpreferences,应用程序在点击时不断崩溃。调试中没有错误。在editor.apply或开始下一个活动时崩溃。不知道为什么。当它崩溃时,它会进入一个白色屏幕,然后重新加载主活动。使用android studio和kindle。我试过模拟器,但还是不起作用。已尝试重写和检查权限,但没有任何效果。应用程序的其余部分工作正常,我可以在其他活动中访问共享首选项。任何帮助都是好的。多谢各位 package com.jakewalther.x; import android.content.Intent; import a

应用程序在点击时不断崩溃。调试中没有错误。在editor.apply或开始下一个活动时崩溃。不知道为什么。当它崩溃时,它会进入一个白色屏幕,然后重新加载主活动。使用android studio和kindle。我试过模拟器,但还是不起作用。已尝试重写和检查权限,但没有任何效果。应用程序的其余部分工作正常,我可以在其他活动中访问共享首选项。任何帮助都是好的。多谢各位

package com.jakewalther.x;

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



public class newUser extends AppCompatActivity {
EditText ename, eemail, enumber,eage, epin;
Button button;
String malefem;
String name, email, number, pin, age;

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

    ename = findViewById(R.id.Name);
    eemail = findViewById(R.id.Email);
    enumber = findViewById(R.id.Phone);
    epin = findViewById(R.id.Pin);
    button = findViewById(R.id.create);


    button.setOnClickListener(new View.OnClickListener(){
        @Override
        public void onClick(View v) {
            CheckBox boxM = findViewById(R.id.Male);
            CheckBox boxF = findViewById(R.id.Female);

            SharedPreferences settings = getSharedPreferences("info", MODE_PRIVATE);
            SharedPreferences.Editor editor = settings.edit();

            editor.clear();

            if (boxM.isChecked()) {

                if (boxF.isChecked()) {
                    malefem = "Trans";
                } else {
                    malefem = "Male";
                }
            } else if (boxF.isChecked()) {
                malefem = "Female";
            }

            name = ename.getText().toString();
            pin = epin.getText().toString();
            email = eemail.getText().toString();
            number = enumber.getText().toString();
            age = eage.getText().toString();

            SharedPreferences.Editor sex = editor.putString("sex", malefem);
            SharedPreferences.Editor username = editor.putString("username", name);
            SharedPreferences.Editor password = editor.putString("pin", pin);
            SharedPreferences.Editor xmail = editor.putString("email", email);
            SharedPreferences.Editor phone = editor.putString("phone", number);

            SharedPreferences.Editor ager = editor.putString("age", age);
            editor.apply();

            Intent next = new Intent(getApplicationContext(), LoadXOrgasm.class);
            startActivity(next);
        }
    });
}
}

我认为问题在于您正在创建许多编辑器对象的实例

试着这样做:

SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences("info",Context.MODE_PRIVATE);
 SharedPreferences.Editor editor=settings.edit();
     editor.putString("sex", malefem);
     editor.putString("username", name);
     editor.putString("pin", pin);
     editor.putString("email", email);
     editor.putString("phone", number);
     editor.putString("age", age);
     editor.apply();

您不能在SharedReferences中存储空值。因此,请确保您没有尝试存储任何空值。