How to update listview after deleting data in firebase?
up vote
0
down vote
favorite
This is my TimeTableActivity.java, which displays listview of items(individual's schedules)
package com.example.jongha.meetingorganizer;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.design.widget.FloatingActionButton;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.view.Window;
import android.widget.AdapterView;
import android.widget.ListView;
import com.google.firebase.database.ChildEventListener;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import java.util.ArrayList;
import java.util.List;
public class TimeTableActivity extends AppCompatActivity {
private FloatingActionButton addScheduleBtn;
DatabaseReference dref;
ListView listview;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_timetable);
//listview 연결, adapter 생성과 연결, dref연결
listview=(ListView)findViewById(R.id.schedule_list_view);
final ScheduleListViewAdapter adapter = new ScheduleListViewAdapter();
listview.setAdapter(adapter);
dref = FirebaseDatabase.getInstance().getReference("timetables/test1999");
//dref change to path of logged-in user하기
//realtime database 데이터 변화에 대한 반응
dref.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
adapter.addItem(dataSnapshot.getValue(ScheduleDTO.class));
adapter.notifyDataSetChanged();
}
@Override
public void onChildChanged(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
}
@Override
public void onChildRemoved(@NonNull DataSnapshot dataSnapshot) {
adapter.removeItem(dataSnapshot.getValue(ScheduleDTO.class));
adapter.notifyDataSetChanged();
}
@Override
public void onChildMoved(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
//listview의 스케쥴 각각에 대한 onclicklistner
listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
ScheduleDTO item = (ScheduleDTO) parent.getItemAtPosition(position);
Intent intent = new Intent(TimeTableActivity.this, DisplayScheduleActivity.class);
String infoOfSchedule = new String {item.getActivityName(), item.getStartHour(), item.getStartMin(), item.getEndHour(), item.getEndMin(), item.getDayOfWeek()};
intent.putExtra("dataStrings", infoOfSchedule);
startActivity(intent);
}
});
//스케쥴 추가 버튼 onclicklistner
addScheduleBtn = findViewById(R.id.add_schedule_btn);
addScheduleBtn.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
startActivity(new Intent(TimeTableActivity.this, NewScheduleActivity.class));
}
});
}
}
and this is my custom listview adapter, ScheduleListViewAdapter.java
package com.example.jongha.meetingorganizer;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
import java.util.ArrayList;
public class ScheduleListViewAdapter extends BaseAdapter {
private ArrayList<ScheduleDTO> listViewItemList = new ArrayList<ScheduleDTO>();
//ScheduleListViewAdapter 생성
public ScheduleListViewAdapter() {
}
@Override
public int getCount() {
return listViewItemList.size();
}
@Override
public Object getItem(int position) {
return listViewItemList.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final int pos = position;
final Context context = parent.getContext();
// "layout_schedule_listview.xml" Layout을 inflate하여 convertView 참조 획득.
if (convertView == null) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.layout_schedule_listview, parent, false);
}
// 화면에 표시될 View(Layout이 inflate된)으로부터 위젯에 대한 참조 획득
TextView titleTextView = (TextView) convertView.findViewById(R.id.scheduleListNameView) ;
TextView timeTextView = (TextView) convertView.findViewById(R.id.scheduleListTimeView) ;
// Data Set(listViewItemList)에서 position에 위치한 데이터 참조 획득
ScheduleDTO listViewItem = listViewItemList.get(position);
// 아이템 내 각 위젯에 데이터 반영
titleTextView.setText(listViewItem.getActivityName());
timeTextView.setText(listViewItem.getListViewTime());
return convertView;
}
public void addItem(ScheduleDTO gotItem) {
listViewItemList.add(gotItem);
}
public void removeItem(ScheduleDTO gotItem){
listViewItemList.remove(gotItem);
}
}
My problem is that though delete function being called in other activity is running correctly(deleting data in firebase console), and listview is well-updated after TimeTableActivity being called again after TimeTableActivity being finished, listview is not being updated properly right after deleting item.
In fact, i had a typo in TimetableActivity.java at first.
I typed
adapter.addItem(....) instead of adapter.removeItem(....) in onChlidRemoved method.
In this situation, listview was updated, containing two same item.
For example, if i had item A and it being deleted, listview was immediately updated and displaying two A.
However, after changing to adapter.removeItem(...), listview is not being updated immediately after deleting item.
How should i fix this problem??
android listview
add a comment |
up vote
0
down vote
favorite
This is my TimeTableActivity.java, which displays listview of items(individual's schedules)
package com.example.jongha.meetingorganizer;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.design.widget.FloatingActionButton;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.view.Window;
import android.widget.AdapterView;
import android.widget.ListView;
import com.google.firebase.database.ChildEventListener;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import java.util.ArrayList;
import java.util.List;
public class TimeTableActivity extends AppCompatActivity {
private FloatingActionButton addScheduleBtn;
DatabaseReference dref;
ListView listview;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_timetable);
//listview 연결, adapter 생성과 연결, dref연결
listview=(ListView)findViewById(R.id.schedule_list_view);
final ScheduleListViewAdapter adapter = new ScheduleListViewAdapter();
listview.setAdapter(adapter);
dref = FirebaseDatabase.getInstance().getReference("timetables/test1999");
//dref change to path of logged-in user하기
//realtime database 데이터 변화에 대한 반응
dref.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
adapter.addItem(dataSnapshot.getValue(ScheduleDTO.class));
adapter.notifyDataSetChanged();
}
@Override
public void onChildChanged(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
}
@Override
public void onChildRemoved(@NonNull DataSnapshot dataSnapshot) {
adapter.removeItem(dataSnapshot.getValue(ScheduleDTO.class));
adapter.notifyDataSetChanged();
}
@Override
public void onChildMoved(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
//listview의 스케쥴 각각에 대한 onclicklistner
listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
ScheduleDTO item = (ScheduleDTO) parent.getItemAtPosition(position);
Intent intent = new Intent(TimeTableActivity.this, DisplayScheduleActivity.class);
String infoOfSchedule = new String {item.getActivityName(), item.getStartHour(), item.getStartMin(), item.getEndHour(), item.getEndMin(), item.getDayOfWeek()};
intent.putExtra("dataStrings", infoOfSchedule);
startActivity(intent);
}
});
//스케쥴 추가 버튼 onclicklistner
addScheduleBtn = findViewById(R.id.add_schedule_btn);
addScheduleBtn.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
startActivity(new Intent(TimeTableActivity.this, NewScheduleActivity.class));
}
});
}
}
and this is my custom listview adapter, ScheduleListViewAdapter.java
package com.example.jongha.meetingorganizer;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
import java.util.ArrayList;
public class ScheduleListViewAdapter extends BaseAdapter {
private ArrayList<ScheduleDTO> listViewItemList = new ArrayList<ScheduleDTO>();
//ScheduleListViewAdapter 생성
public ScheduleListViewAdapter() {
}
@Override
public int getCount() {
return listViewItemList.size();
}
@Override
public Object getItem(int position) {
return listViewItemList.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final int pos = position;
final Context context = parent.getContext();
// "layout_schedule_listview.xml" Layout을 inflate하여 convertView 참조 획득.
if (convertView == null) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.layout_schedule_listview, parent, false);
}
// 화면에 표시될 View(Layout이 inflate된)으로부터 위젯에 대한 참조 획득
TextView titleTextView = (TextView) convertView.findViewById(R.id.scheduleListNameView) ;
TextView timeTextView = (TextView) convertView.findViewById(R.id.scheduleListTimeView) ;
// Data Set(listViewItemList)에서 position에 위치한 데이터 참조 획득
ScheduleDTO listViewItem = listViewItemList.get(position);
// 아이템 내 각 위젯에 데이터 반영
titleTextView.setText(listViewItem.getActivityName());
timeTextView.setText(listViewItem.getListViewTime());
return convertView;
}
public void addItem(ScheduleDTO gotItem) {
listViewItemList.add(gotItem);
}
public void removeItem(ScheduleDTO gotItem){
listViewItemList.remove(gotItem);
}
}
My problem is that though delete function being called in other activity is running correctly(deleting data in firebase console), and listview is well-updated after TimeTableActivity being called again after TimeTableActivity being finished, listview is not being updated properly right after deleting item.
In fact, i had a typo in TimetableActivity.java at first.
I typed
adapter.addItem(....) instead of adapter.removeItem(....) in onChlidRemoved method.
In this situation, listview was updated, containing two same item.
For example, if i had item A and it being deleted, listview was immediately updated and displaying two A.
However, after changing to adapter.removeItem(...), listview is not being updated immediately after deleting item.
How should i fix this problem??
android listview
I can't get your question. Can you write in other words?
– Шах
Nov 10 at 11:11
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
This is my TimeTableActivity.java, which displays listview of items(individual's schedules)
package com.example.jongha.meetingorganizer;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.design.widget.FloatingActionButton;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.view.Window;
import android.widget.AdapterView;
import android.widget.ListView;
import com.google.firebase.database.ChildEventListener;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import java.util.ArrayList;
import java.util.List;
public class TimeTableActivity extends AppCompatActivity {
private FloatingActionButton addScheduleBtn;
DatabaseReference dref;
ListView listview;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_timetable);
//listview 연결, adapter 생성과 연결, dref연결
listview=(ListView)findViewById(R.id.schedule_list_view);
final ScheduleListViewAdapter adapter = new ScheduleListViewAdapter();
listview.setAdapter(adapter);
dref = FirebaseDatabase.getInstance().getReference("timetables/test1999");
//dref change to path of logged-in user하기
//realtime database 데이터 변화에 대한 반응
dref.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
adapter.addItem(dataSnapshot.getValue(ScheduleDTO.class));
adapter.notifyDataSetChanged();
}
@Override
public void onChildChanged(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
}
@Override
public void onChildRemoved(@NonNull DataSnapshot dataSnapshot) {
adapter.removeItem(dataSnapshot.getValue(ScheduleDTO.class));
adapter.notifyDataSetChanged();
}
@Override
public void onChildMoved(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
//listview의 스케쥴 각각에 대한 onclicklistner
listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
ScheduleDTO item = (ScheduleDTO) parent.getItemAtPosition(position);
Intent intent = new Intent(TimeTableActivity.this, DisplayScheduleActivity.class);
String infoOfSchedule = new String {item.getActivityName(), item.getStartHour(), item.getStartMin(), item.getEndHour(), item.getEndMin(), item.getDayOfWeek()};
intent.putExtra("dataStrings", infoOfSchedule);
startActivity(intent);
}
});
//스케쥴 추가 버튼 onclicklistner
addScheduleBtn = findViewById(R.id.add_schedule_btn);
addScheduleBtn.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
startActivity(new Intent(TimeTableActivity.this, NewScheduleActivity.class));
}
});
}
}
and this is my custom listview adapter, ScheduleListViewAdapter.java
package com.example.jongha.meetingorganizer;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
import java.util.ArrayList;
public class ScheduleListViewAdapter extends BaseAdapter {
private ArrayList<ScheduleDTO> listViewItemList = new ArrayList<ScheduleDTO>();
//ScheduleListViewAdapter 생성
public ScheduleListViewAdapter() {
}
@Override
public int getCount() {
return listViewItemList.size();
}
@Override
public Object getItem(int position) {
return listViewItemList.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final int pos = position;
final Context context = parent.getContext();
// "layout_schedule_listview.xml" Layout을 inflate하여 convertView 참조 획득.
if (convertView == null) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.layout_schedule_listview, parent, false);
}
// 화면에 표시될 View(Layout이 inflate된)으로부터 위젯에 대한 참조 획득
TextView titleTextView = (TextView) convertView.findViewById(R.id.scheduleListNameView) ;
TextView timeTextView = (TextView) convertView.findViewById(R.id.scheduleListTimeView) ;
// Data Set(listViewItemList)에서 position에 위치한 데이터 참조 획득
ScheduleDTO listViewItem = listViewItemList.get(position);
// 아이템 내 각 위젯에 데이터 반영
titleTextView.setText(listViewItem.getActivityName());
timeTextView.setText(listViewItem.getListViewTime());
return convertView;
}
public void addItem(ScheduleDTO gotItem) {
listViewItemList.add(gotItem);
}
public void removeItem(ScheduleDTO gotItem){
listViewItemList.remove(gotItem);
}
}
My problem is that though delete function being called in other activity is running correctly(deleting data in firebase console), and listview is well-updated after TimeTableActivity being called again after TimeTableActivity being finished, listview is not being updated properly right after deleting item.
In fact, i had a typo in TimetableActivity.java at first.
I typed
adapter.addItem(....) instead of adapter.removeItem(....) in onChlidRemoved method.
In this situation, listview was updated, containing two same item.
For example, if i had item A and it being deleted, listview was immediately updated and displaying two A.
However, after changing to adapter.removeItem(...), listview is not being updated immediately after deleting item.
How should i fix this problem??
android listview
This is my TimeTableActivity.java, which displays listview of items(individual's schedules)
package com.example.jongha.meetingorganizer;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.design.widget.FloatingActionButton;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.view.Window;
import android.widget.AdapterView;
import android.widget.ListView;
import com.google.firebase.database.ChildEventListener;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import java.util.ArrayList;
import java.util.List;
public class TimeTableActivity extends AppCompatActivity {
private FloatingActionButton addScheduleBtn;
DatabaseReference dref;
ListView listview;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_timetable);
//listview 연결, adapter 생성과 연결, dref연결
listview=(ListView)findViewById(R.id.schedule_list_view);
final ScheduleListViewAdapter adapter = new ScheduleListViewAdapter();
listview.setAdapter(adapter);
dref = FirebaseDatabase.getInstance().getReference("timetables/test1999");
//dref change to path of logged-in user하기
//realtime database 데이터 변화에 대한 반응
dref.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
adapter.addItem(dataSnapshot.getValue(ScheduleDTO.class));
adapter.notifyDataSetChanged();
}
@Override
public void onChildChanged(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
}
@Override
public void onChildRemoved(@NonNull DataSnapshot dataSnapshot) {
adapter.removeItem(dataSnapshot.getValue(ScheduleDTO.class));
adapter.notifyDataSetChanged();
}
@Override
public void onChildMoved(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
//listview의 스케쥴 각각에 대한 onclicklistner
listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
ScheduleDTO item = (ScheduleDTO) parent.getItemAtPosition(position);
Intent intent = new Intent(TimeTableActivity.this, DisplayScheduleActivity.class);
String infoOfSchedule = new String {item.getActivityName(), item.getStartHour(), item.getStartMin(), item.getEndHour(), item.getEndMin(), item.getDayOfWeek()};
intent.putExtra("dataStrings", infoOfSchedule);
startActivity(intent);
}
});
//스케쥴 추가 버튼 onclicklistner
addScheduleBtn = findViewById(R.id.add_schedule_btn);
addScheduleBtn.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
startActivity(new Intent(TimeTableActivity.this, NewScheduleActivity.class));
}
});
}
}
and this is my custom listview adapter, ScheduleListViewAdapter.java
package com.example.jongha.meetingorganizer;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
import java.util.ArrayList;
public class ScheduleListViewAdapter extends BaseAdapter {
private ArrayList<ScheduleDTO> listViewItemList = new ArrayList<ScheduleDTO>();
//ScheduleListViewAdapter 생성
public ScheduleListViewAdapter() {
}
@Override
public int getCount() {
return listViewItemList.size();
}
@Override
public Object getItem(int position) {
return listViewItemList.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final int pos = position;
final Context context = parent.getContext();
// "layout_schedule_listview.xml" Layout을 inflate하여 convertView 참조 획득.
if (convertView == null) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.layout_schedule_listview, parent, false);
}
// 화면에 표시될 View(Layout이 inflate된)으로부터 위젯에 대한 참조 획득
TextView titleTextView = (TextView) convertView.findViewById(R.id.scheduleListNameView) ;
TextView timeTextView = (TextView) convertView.findViewById(R.id.scheduleListTimeView) ;
// Data Set(listViewItemList)에서 position에 위치한 데이터 참조 획득
ScheduleDTO listViewItem = listViewItemList.get(position);
// 아이템 내 각 위젯에 데이터 반영
titleTextView.setText(listViewItem.getActivityName());
timeTextView.setText(listViewItem.getListViewTime());
return convertView;
}
public void addItem(ScheduleDTO gotItem) {
listViewItemList.add(gotItem);
}
public void removeItem(ScheduleDTO gotItem){
listViewItemList.remove(gotItem);
}
}
My problem is that though delete function being called in other activity is running correctly(deleting data in firebase console), and listview is well-updated after TimeTableActivity being called again after TimeTableActivity being finished, listview is not being updated properly right after deleting item.
In fact, i had a typo in TimetableActivity.java at first.
I typed
adapter.addItem(....) instead of adapter.removeItem(....) in onChlidRemoved method.
In this situation, listview was updated, containing two same item.
For example, if i had item A and it being deleted, listview was immediately updated and displaying two A.
However, after changing to adapter.removeItem(...), listview is not being updated immediately after deleting item.
How should i fix this problem??
android listview
android listview
edited Nov 10 at 18:57
shashank chandak
170111
170111
asked Nov 10 at 10:35
PAKALGUKSU
1
1
I can't get your question. Can you write in other words?
– Шах
Nov 10 at 11:11
add a comment |
I can't get your question. Can you write in other words?
– Шах
Nov 10 at 11:11
I can't get your question. Can you write in other words?
– Шах
Nov 10 at 11:11
I can't get your question. Can you write in other words?
– Шах
Nov 10 at 11:11
add a comment |
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53238085%2fhow-to-update-listview-after-deleting-data-in-firebase%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53238085%2fhow-to-update-listview-after-deleting-data-in-firebase%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
I can't get your question. Can you write in other words?
– Шах
Nov 10 at 11:11