在Firebase中插入数据后活动被破坏

问题描述 投票:0回答:1

因此,我正在创建一个聊天应用程序,该应用程序首先允许注册。登录后,您会在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 ....

android firebase android-listview
1个回答
0
投票

您确定ChatActivity活动中没有错误吗?您可以发布Logcat吗?

© www.soinside.com 2019 - 2024. All rights reserved.