[英]How do you replace data from a TextView instead of adding to the TextView from a firebase database?
我正在從Firebase數據庫填充Textview。 當我向數據庫添加一個額外的子項( names
)時,TextView保留先前的數據,並重復先前的數據以及新的子項。 我想關閉以前的數據,而只擁有更新的版本。 例如,TextView填充為
Mary, John
但是當我添加一個額外的孩子時,TextView會填充
Mary, John, Mary, John, Adam
我只希望TextView中填充Mary, John, Adam
這是我的代碼
TextView stringTextView;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
stringTextView = (TextView) findViewById(R.id.textView2);
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference ref = rootRef.child("County").child("Dublin").child("contacts");
ValueEventListener eventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
ArrayList<String> names = new ArrayList<>();
for (DataSnapshot ds : dataSnapshot.getChildren()) {
String name = ds.child("name").getValue(String.class);
// Log.d("TAG", name);
names.add(name);
//String number = ds.child("number").getValue(String.class);
//Log.d("Name", name + " / " + number);
}
for (String name : names) {
//stringTextView = (TextView) findViewById(R.id.textView2);
stringTextView.setText(stringTextView.getText().toString() + name + " , ");
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
};
ref.addValueEventListener(eventListener);
}}
ValueEventListener eventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
**stringTextview.setText(" ")**
那就是我要做的,每次捕獲新的數據快照時,將文本更改為空:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.