gpt4 book ai didi

java - 使用java firebase的android studio中的IF语句计数++

转载 作者:行者123 更新时间:2023-11-30 01:49:27 25 4
gpt4 key购买 nike

我如何在 java android fire-base 上放置一个关于这个的函数。我正在创建一个聊天应用程序,并且我有一个像这样的现有火力基础结构。假设我发送一条消息“Hello”。

Chat:
Author:"name"
Chat:"Hello"

我想推送一个函数,它会计算每个用户的消息数量。因此它会是这样的。假设我发送一条消息说hi?马上回来

Chat:
Author:"name"
Chat:"hi?"
numMessages: 1

Chat:
Author:"name"
Chat:"Be right back"
numMessages: 2

我认为是 if 语句 count++?但我尝试了关于这个的一切。呃。Java和Android高手希望大佬们多多指教。

最佳答案

全局整型变量:int counter = 0;
在您的 onClick 中添加:counter++;随时将计数器设置为 0,否则它将不断计数 - 并且仅在重新创建 Activity 时才设置为 0。

如果你想将它发送到 firebase,你需要在那里添加计数器,然后简单地将它与你的消息一起发送,用一个名为“counter”的 int 更新你的 Message.class(类似于字符串“author "和 "消息",发送它会被发送并显示在您的聊天中。

这是否回答了您的问题?

更新:

首先,进入 Message.class 并添加:

int counter;

public int getCounter(){
return counter;
}

public void setCounter(int counter){
this.counter = counter;
}

如果你想在你的 View 中显示计数器,你可以简单地在你的 fragment_message.xml 中添加另一个 TextView 或者你可以在你的消息中以编程方式添加它,在你的 MessageAdapter.java 在 populateView 中添加:

//if you added an extra TextView in your fragment_message.xml
TextView counter = (TextView) view.findViewById(R.id.yourcounterid);

counter.setText(message.getCounter());

//if you want to add the number in your messageView:
messageView.setText(message.getMessage() + " " + message.getCounter());

因此对于您的 MainActivity.java:

public class MainActivity extends AppCompatActivity{


private EditText editText;
private ListView listView;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

counter = 0;
Firebase.setAndroidContext(this);
final Firebase firebase = new Firebase("https://samp-is.firebaseio.com/");


editText = (EditText) findViewById(R.id.editText);
listView = (ListView) findViewById(R.id.listView);

listView.setAdapter(new MessageAdapter(this, Message.class, R.layout.fragment_message, firebase.child("chat")));

Button button = (Button) findViewById(R.id.button);

button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
counter++;

Message message = new Message();

message.setMessage(editText.getText().toString());
editText.setText("");
message.setAuthor("Name");
message.setCounter(counter);
firebase.child("chat").push().setValue(message);


}
});
}
}

如果我没记错的话,Firebase 应该在其数据库中添加一个子“计数器”,并使用您的计数器值更新它。有用吗?

关于java - 使用java firebase的android studio中的IF语句计数++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33275590/

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