Spinner не посылает правильные данные в тревогу - PullRequest
0 голосов
/ 25 мая 2019

Я новичок в программировании, я просто делаю приложения, но проблема в том, что я пытаюсь отправить выбранные данные с счетчика (A101, A102, A103, A104, A105), например, я выбираю A102, затем A102 будет отправить в Alarm Broadcast Reciever, а затем сделать тост A102, но проблема в том, что я пытаюсь проверить данные, получаемые от тревоги, используя Log. Отправляемые данные не совпадают с данными, выбранными мною в счетчике. Как я уже говорил, прежде чем выбрать A102, но из журнала я вижу, что отправляемые данные - это A104, иногда это может быть A103 или A101. Но есть время, когда получаемые данные совпадают с тем, что я выбираю из счетчика. Ниже я включаю свой код:

Надеюсь, что кто-нибудь может помочь с моей проблемой.

// Spinner on class

        ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
                R.array.blockA, android.R.layout.simple_spinner_item);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        class_number.setAdapter(adapter);
        class_number.setOnItemSelectedListener(this);



        //Pick Start Time

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

                // Set Alarm

                setAlarm(tms);

 public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {

        text = parent.getItemAtPosition(position).toString();
        text2 = parent.getSelectedItem().toString();
        Toast.makeText(parent.getContext(), "Kelas :" + text, Toast.LENGTH_SHORT).show();
        classnumberD.setText(text);

    }


    public void onNothingSelected(AdapterView<?> parent) {

    }

private void setAlarm(Long timeInMillis) {
        //getting the alarm manager
        AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);


        //creating a new intent specifying the broadcast receiver
        Intent intent = new Intent(this, MyAlarm.class);
        intent.putExtra("classnnumberD",class_number.getOnItemSelectedListener().toString());
        intent.putExtra("notificationId", notificationId);



        //creating a pending intent using the intent
        PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, intent, 0);

        //setting the repeating alarm that will be fired every day
        alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, timeInMillis, AlarmManager.INTERVAL_DAY, pendingIntent);
        Toast.makeText(this, "Alarm is set", Toast.LENGTH_SHORT).show();


    }
...