我有以下代码,没有错误,只是这个无限循环......我没有得到问题所在 .

当我单击Button时,我想使用在edittexts中输入的值创建一个对象,并将它们传递给另一个activity..well ..但是我得到了那个循环 .

每个微调器都使用来自资源/字符串的字符串数组填充..我在这里获取值时遇到一些困难,因为在spinner spTipUtilizator中,当选择“Profesor”时,我希望禁用spGrupa,当“Student”是选中,我希望spdept被禁用,但这也行不通 . 并且基于该选项将选择下一个活动,该活动将在单击按钮后打开 .

另外,为什么在我的日历中设置默认日期不起作用?我在这里尝试了多个东西,但没有一个对我有用 . 我的Android Studio没有显示DatePicker,我知道更好用,只有那个Calendar,我不知道为什么会这样 .

公共类SignInActivity扩展Activity {

private Button bSignup;
private EditText etNume, etPrenume, etUsername, etPassword, etConfirmPass, etEmail;
private RadioButton rbMasc, rbFem;
private Spinner spTipUtilizator, spgrupa, spdept;
private ProgressBar progBar;
private Calendar calendar;
private int year, month, day, currentYear, defday, defmonth, defyear;
private List<String> tipUtilizatorList, grupaList;
private ArrayAdapter<String> spinnerArrayAdapterTipU;
private String nume,prenume,username,password,password2,email,masc,fem,sex,tipUser,dept,DataN;
private int grupa;


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

    calendar=Calendar.getInstance();
    calendar.set(1990,12,12);

    bSignup = findViewById(R.id.buttonSignin);
    etNume=findViewById(R.id.et_nume);
    etPrenume=findViewById(R.id.et_prenume);
    etUsername=findViewById(R.id.et_username);
    etPassword=findViewById(R.id.et_password);
    etConfirmPass = findViewById(R.id.et_confirmpassword);
    etEmail=findViewById(R.id.et_email);
    rbMasc=findViewById(R.id.radioButtonMasc);
    rbFem=findViewById(R.id.radioButtonFem);
    spTipUtilizator=findViewById(R.id.spinnerTipUtilizator);
    spgrupa=findViewById(R.id.spinnerGrupa);
    spdept=findViewById(R.id.spinnerDepartament);

    progBar = findViewById(R.id.progressBar);

    tipUtilizatorList=new ArrayList<>(Arrays.asList(getResources().getStringArray((R.array.tipUtilizator))));
    ArrayAdapter<String> adapter=new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item,tipUtilizatorList);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spTipUtilizator.setAdapter(adapter);

    grupaList = new ArrayList<>(Arrays.asList(getResources().getStringArray(R.array.grupa)));


    bSignup.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            nume = etNume.getText().toString().trim();
            prenume = etPrenume.getText().toString().trim();
            username = etUsername.getText().toString().trim();
            password = etPassword.getText().toString().trim();
            password2 = etConfirmPass.getText().toString().trim();
            email = etEmail.getText().toString().trim();
            masc = rbMasc.getText().toString().trim();
            fem = rbFem.getText().toString().trim();
            sex=fem;
            tipUser = spTipUtilizator.getSelectedItem().toString().trim();
            grupa = Integer.parseInt(spgrupa.getSelectedItem().toString().trim());
            dept = spdept.getSelectedItem().toString().trim();
            DataN = day+"/"+month+"/"+year;

            progBar.setVisibility(View.VISIBLE);

            if(rbFem.isChecked()) {
                sex=fem;
            }
            else if(rbMasc.isChecked()) {
                sex=masc;
            }


            spTipUtilizator.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
                @Override
                public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                    String Text = parent.getSelectedItem().toString();
                    if(Text.equals("Profesor")) {
                        spgrupa.getSelectedView().setEnabled(false);
                        spdept.getSelectedView().setEnabled(true);

                        Intent intent = new Intent(getApplicationContext(),StartProfesorActivity.class);
                        Profesor prof = new Profesor(nume,prenume,username,password,email,sex,dept,DataN);
                        intent.putExtra("profesor",prof);
                        startActivity(intent);
                        return;
                    }
                    else if(Text.equals("Student")) {
                        spgrupa.getSelectedView().setEnabled(true);
                        spdept.getSelectedView().setEnabled(false);

                        Intent intent = new Intent(getApplicationContext(),StartStudentActivity.class);
                        Student stud = new Student(nume,prenume,username,password,email,sex,grupa, DataN);
                        intent.putExtra("student",stud);
                        startActivity(intent);
                        return;
                    }

                }

                @Override
                public void onNothingSelected(AdapterView<?> parent) {

                }
            });

        }
    });
}

}

日志:

D/AbsListView:  in onLayout changed 
D/ViewRootImpl@cab402e[PopupWindow:ad4e773]: MSG_WINDOW_FOCUS_CHANGED 1
V/InputMethodManager: Not IME target window, ignoring
D/ViewRootImpl@cab402e[PopupWindow:ad4e773]: MSG_RESIZED_REPORT: frame=Rect(266, 72 - 422, 1047) ci=Rect(0, 0 - 0, 0) vi=Rect(0, 0 - 0, 0) or=1
D/ViewRootImpl@27d7010[SignInActivity]: MSG_WINDOW_FOCUS_CHANGED 0
D/ViewRootImpl@cab402e[PopupWindow:ad4e773]: ViewPostIme pointer 0
D/ViewRootImpl@cab402e[PopupWindow:ad4e773]: ViewPostIme pointer 1
D/AbsListView: onTouchUp() mTouchMode : 0
D/ViewRootImpl@cab402e[PopupWindow:ad4e773]: Relayout returned: old=[266,72][422,1047] new=[266,72][422,1047] result=0x1 surface={valid=true 481098420224} changed=false
D/ViewRootImpl@27d7010[SignInActivity]: MSG_WINDOW_FOCUS_CHANGED 1
D/ViewRootImpl@cab402e[PopupWindow:ad4e773]: MSG_WINDOW_FOCUS_CHANGED 0
I/zygote64: Compiler allocated 4MB to compile void android.view.View.<init>(android.content.Context, android.util.AttributeSet, int, int)
I/OpenGLRenderer: prepareTree mLayerUpdateQueue is not empty, size = 1
    name = PopupWindow$PopupBackgroundView, size (156, 975)
D/OpenGLRenderer: eglDestroySurface = 0x6ff4459d80
    endAllActiveAnimators on 0x6ff591ec00 (DropDownListView) with handle 0x7003b6eb00
D/ViewRootImpl@cab402e[PopupWindow:ad4e773]: dispatchDetachedFromWindow
D/InputEventReceiver: channel '468478f PopupWindow:ad4e773 (client)' ~ Disposing input event receiver.
    channel '468478f PopupWindow:ad4e773 (client)' ~NativeInputEventReceiver.
D/ViewRootImpl@27d7010[SignInActivity]: ViewPostIme pointer 0
D/ViewRootImpl@27d7010[SignInActivity]: ViewPostIme pointer 1
D/ViewRootImpl@27d7010[SignInActivity]: ViewPostIme pointer 0
D/ViewRootImpl@27d7010[SignInActivity]: ViewPostIme pointer 1
D/ViewRootImpl@27d7010[SignInActivity]: ViewPostIme pointer 0
D/ViewRootImpl@27d7010[SignInActivity]: ViewPostIme pointer 1
D/ViewRootImpl@27d7010[SignInActivity]: ViewPostIme pointer 0
D/ViewRootImpl@27d7010[SignInActivity]: ViewPostIme pointer 1
V/InputMethodManager: Starting input: tba=android.view.inputmethod.EditorInfo@54a19af nm : com.example.ancaa.proiectandroidquiz ic=com.android.internal.widget.EditableInputConnection@ba71bc
I/InputMethodManager: startInputInner - mService.startInputOrWindowGainedFocus
W/IInputConnectionWrapper: getCursorCapsMode on inactive InputConnection
W/IInputConnectionWrapper: getCursorCapsMode on inactive InputConnection
W/IInputConnectionWrapper: getSelectedText on inactive InputConnection
W/IInputConnectionWrapper: getTextBeforeCursor on inactive InputConnection
W/IInputConnectionWrapper: getTextAfterCursor on inactive InputConnection
W/IInputConnectionWrapper: getTextBeforeCursor on inactive InputConnection
D/OpenGLRenderer: eglDestroySurface = 0x7003ab7400
D/ViewRootImpl@27d7010[SignInActivity]: Relayout returned: old=[0,0][1080,1920] new=[0,0][1080,1920] result=0x5 surface={valid=false 0} changed=true
D/ViewRootImpl@27d7010[SignInActivity]: MSG_WINDOW_FOCUS_CHANGED 0
D/ViewRootImpl@27d7010[SignInActivity]: Relayout returned: old=[0,0][1080,1920] new=[0,0][1080,1920] result=0x1 surface={valid=false 0} changed=false
Application terminated.