因此,我正在创建一个聊天应用程序,该应用程序首先允许注册。登录后,您会在ListView中看到一个注册用户列表。这是相关的onclick代码-
usersList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) {
String currentUser = getIntent().getExtras().getString("currUser");
String chatBuddy = adapter.getItem(position);
Intent goChatActivity = new Intent(getApplicationContext(), ChatActivity.class);
goChatActivity.putExtra("currentUser", currentUser);
goChatActivity.putExtra("chatBuddy", chatBuddy);
startActivity(goChatActivity);
}
});
[如果您单击某个用户,则会进入ChatActivity.java,其中您单击的当前用户名和名称列表视图项都分别在OnCreate()中作为currentuser和chatbuddy接收。然后,我有sendMesg onclick方法,该方法将数据插入Firebase中,这些数据主要是Chat和时间戳-
sendMesg.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
databaseReference.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
final Calendar cal = Calendar.getInstance();
Chat chat = new Chat(chatEditText.getText().toString(), cal.getTime().toString());
databaseReference.child(currentUser+"/"+currentUser+"_"+ chatBuddy).push().setValue(chat);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
登录后,我们从列表视图中选择的每个新ChatBuddy都会正确插入数据,但是每次单击sendMesg时,ChatActivity都会消失,我将返回到UsersList,这是登录后我们看到的第一页。这是演示chat screen record的链接>
因此,我正在创建一个聊天应用程序,该应用程序首先允许注册。登录后,您会在ListView中看到一个注册用户列表。这是相关的onclick代码-usersList ....
您确定ChatActivity活动中没有错误吗?您可以发布Logcat吗?