Вылет приложения. Android. Общие настройки OnClick - PullRequest
0 голосов
/ 10 мая 2018

Приложение продолжает зависать при нажатии. Нет ошибок в отладке. Сбой в 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);
        }
    });
}
}

1 Ответ

0 голосов
/ 10 мая 2018

Мне кажется, проблема в том, что вы создаете много экземпляров объекта Editor.

Попробуйте сделать это следующим образом:

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();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...