Как сохранить разный текст при каждом нажатии на дату в календаре?

#java #android #firebase #google-cloud-firestore #calendar

#java #Android #firebase #google-облако-firestore #Календарь

Вопрос:

Я хочу, чтобы, если я нажму на любую дату в календаре, тогда откроется действие, в котором я напишу текст, а затем после нажатия на кнопку сохранения текст будет сохранен на эту дату. Когда я снова открываю эту дату, появляется тот же текст. Но когда я нажал на сохранить, данные сохраняются в firebase, но не в этом тексте. Когда я снова открываю это действие, текст не отображается.

 public class Calendar_date_text extends AppCompatActivity {
  EditText calendartextview;
  FirebaseFirestore db;

CalendarView calender;
DocumentReference documentReference;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_calendar_date_text);
         calendartextview = findViewById(calendaredittext);
        calender = findViewById(R.id.calendarindiary);


//setsupportactiobar nu remove kita taa feelhut di jagah date aa gyi

db = FirebaseFirestore.getInstance();
documentReference = db.collection("Users").document();
calendartextview.setCursorVisible(false);
        calendartextview.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                calendartextview.setCursorVisible(true);
                calendartextview.requestFocus();
            }
        });

      Toolbar  toolbar=findViewById(R.id.toolbar);

        Intent intent = getIntent();
        String name = intent.getStringExtra("name");


        toolbar.setTitle(name);
        setSupportActionBar(toolbar);

}
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            MenuInflater menuInflater = getMenuInflater();
            menuInflater.inflate(R.menu.calendar_date_text_menu, menu);
            return super.onCreateOptionsMenu(menu);
        }

        @Override
        public boolean onOptionsItemSelected(@NonNull MenuItem item) {
         String ourcalendartext;
         ourcalendartext = calendartextview.getText().toString();
            switch (item.getItemId()){
                case caledartextpost:
                    Toast.makeText(this, "Saved", Toast.LENGTH_SHORT).show();
                    calendartextview.setCursorVisible(false);
                    Map user = new HashMap();
                    user.put("calendarpost",ourcalendartext);
                    documentReference.set(user).addOnSuccessListener(new OnSuccessListener<Void>() {
                        @Override
                        public void onSuccess(Void aVoid) {
                       documentReference.collection("calendarpost").addSnapshotListener(new EventListener<QuerySnapshot>() {
                           @Override
                           public void onEvent(@Nullable QuerySnapshot documentSnapshots, @Nullable FirebaseFirestoreException error) {
                             for (DocumentSnapshot ds : documentSnapshots){
                                 String ourcalendartext;
                                 ourcalendartext = ds.getString("calendarpost");
                                 calendartextview.setText(ourcalendartext);
                             }
                           }
                       });
                        }
                    });




                    break;
            }
            return super.onOptionsItemSelected(item);


    }
}
  

Комментарии:

1. что происходит, когда вы полностью отключаете свое приложение и снова открываете его … вы видели текст об этом конкретном действии на дату? дайте мне знать о поведении activity

2. Когда я снова открыл activity, он не показывает текст. Это выглядит так же перед добавлением текста.

3. Ваше объяснение лучше изложено в предыдущем вопросе. Могу ли я связаться с вами лично?

4. я добавляю answer….so подожди

5. итак, ваше значение сохраняется в firebase db, но не отображается здесь, верно?