#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, но не отображается здесь, верно?