gpt4 book ai didi

java - (android textwatcher) 如何在 firebase 上推送 textWatcher

转载 作者:太空狗 更新时间:2023-10-29 14:53:05 27 4
gpt4 key购买 nike

我正在做一个聊天应用程序,并了解如何制作 textWatcher,它将在用户输入的情况下推送 firebase 数据结构.我想推送一个数据结构,在该数据结构上您将看到用户是否正在输入。当用户键入时,用户键入下的数据结构为真。如果用户没有打字,那么它将变为 false。我试过这段代码,但它似乎是错误的,因为每次我运行该程序。当我点击 ediText 时。它会自动为用户创建一个数据结构键

final Firebase test = firebase.child("room-typing").push();
test.setValue("true");
final EditText editText = (EditText) findViewById(R.id.editText);
editText.addTextChangedListener(new TextWatcher() {

public void afterTextChanged(Editable s) {
}

public void beforeTextChanged(CharSequence s, int start,
int count, int after) {
}

public void onTextChanged(CharSequence s, int start,
int before, int count) {
if (s == editText) {
firebase.child("room-typing").child(test.getKey()).child("test").setValue("true");
} else {
firebase.child("room-typing").child(test.getKey()).child("test").setValue("false");
}
}
});

最佳答案

您正在通过调用 push() 自己创建新 key 。来自documentation for push() :

Generates a new child location using a unique key and returns a Firebase reference to it.

我给你的代码添加了一些注释,以标记事情发生的地方:

// This next line creates a new key
final Firebase test = firebase.child("room-typing").push();

test.setValue("true");
final EditText editText = (EditText) findViewById(R.id.editText);
editText.addTextChangedListener(new TextWatcher() {

public void afterTextChanged(Editable s) {
}

public void beforeTextChanged(CharSequence s, int start,
int count, int after) {
}

public void onTextChanged(CharSequence s, int start,
int before, int count) {
if (s == editText) {
// This next line uses the new key you created above
firebase.child("room-typing").child(test.getKey()).child("Onediver").setValue("true");
} else {
// As does the next line here
firebase.child("room-typing").child(test.getKey()).child("Onediver").setValue("false");
}
}
});

为了防止创建新的 child ,你应该调用push,而是依赖一个已知的 child ,例如:

final Firebase test = firebase.child("room-typing").child("jaymee");

关于java - (android textwatcher) 如何在 firebase 上推送 textWatcher,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33866590/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com