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??










share|improve this question
























  • I can't get your question. Can you write in other words?
    – Шах
    Nov 10 at 11:11















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??










share|improve this question
























  • I can't get your question. Can you write in other words?
    – Шах
    Nov 10 at 11:11













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??










share|improve this question















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






share|improve this question















share|improve this question













share|improve this question




share|improve this question








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


















  • 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

















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
});


}
});














draft saved

draft discarded


















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
















draft saved

draft discarded




















































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.




draft saved


draft discarded














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





















































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







Popular posts from this blog

Schultheiß

Verwaltungsgliederung Dänemarks

Liste der Kulturdenkmale in Wilsdruff