Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android RecyclerView未在查看寻呼机片段中显示项目_Android_Android Fragments_Firebase_Firebase Realtime Database_Android Recyclerview - Fatal编程技术网

Android RecyclerView未在查看寻呼机片段中显示项目

Android RecyclerView未在查看寻呼机片段中显示项目,android,android-fragments,firebase,firebase-realtime-database,android-recyclerview,Android,Android Fragments,Firebase,Firebase Realtime Database,Android Recyclerview,当我单击chat选项卡时,recycler视图不会显示片段中的项目。当我在一个活动中使用它时,它是有效的。现在,在运行应用程序时,它似乎没有显示项目。我试过调试之类的东西,但似乎还是找不到问题。任何帮助都将不胜感激,谢谢 ChatFragment.java package com.swampass.nauticalapp; import android.app.Activity; import android.content.Context; import android.net.Uri; i

当我单击chat选项卡时,recycler视图不会显示片段中的项目。当我在一个活动中使用它时,它是有效的。现在,在运行应用程序时,它似乎没有显示项目。我试过调试之类的东西,但似乎还是找不到问题。任何帮助都将不胜感激,谢谢

ChatFragment.java

package com.swampass.nauticalapp;

import android.app.Activity;
import android.content.Context;
import android.net.Uri;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;
import com.swampass.nauticalapp.model.ActiveChatConvo;
import com.swampass.nauticalapp.model.User;

import java.util.ArrayList;

public class ChatsFragment extends Fragment {

    private RecyclerView recyclerView;
    private DatabaseReference mRef;
    private LinearLayoutManager mLinearLayoutManager;
    private ArrayList<User> users;
    private FirebaseAuth mAuth;
    private ActiveChatConvo adapter;

    public ChatsFragment() {
        // Required empty public constructor
    }


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
    {
        View penis = inflater.inflate(R.layout.fragment_chats, container, false);

        // Inflate the layout for this fragment
        mRef = FirebaseDatabase.getInstance().getReference("Users");
        mRef.keepSynced(true);

        mAuth = FirebaseAuth.getInstance();

        users = new ArrayList<>();
        adapter = new ActiveChatConvo(users,getContext());

        mRef.addListenerForSingleValueEvent(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                if (dataSnapshot.exists())
                {
                    for (DataSnapshot postSnapshot: dataSnapshot.getChildren())
                    {
                        String name = postSnapshot.child("Name").getValue(String.class);
                        String email = postSnapshot.child("Email").getValue(String.class);
                        String pic = postSnapshot.child("image").getValue(String.class);

                        users.add(new User(name,email,pic));

                    }

                    adapter.notifyDataSetChanged();
            }

            }

            @Override
            public void onCancelled(DatabaseError databaseError) {

            }
        });

        //Recycler View
        recyclerView = (RecyclerView) penis.findViewById(R.id.active_chats);
        //ActiveChatConvo adapter = new ActiveChatConvo(users,this);
        Context c = getContext();
        mLinearLayoutManager = new LinearLayoutManager(getActivity());
        //mLinearLayoutManager.setStackFromEnd(true);
        recyclerView.setLayoutManager(mLinearLayoutManager);

        recyclerView.setAdapter(adapter);
        //adapter.notifyDataSetChanged();

        return inflater.inflate(R.layout.fragment_chats, container, false);
    }

}
ActiveChatConva.java

package com.swampass.nauticalapp.model;

import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;

import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.ValueEventListener;
import com.squareup.picasso.Picasso;
import com.swampass.nauticalapp.ChatConversationActivity;
import com.swampass.nauticalapp.R;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by Peter on 6/6/2017.
 */

public class ActiveChatConvo extends RecyclerView.Adapter<ActiveChatConvo.ViewHolder> {
    private ArrayList<User> mUsers;
    private Context mContext;

    public ActiveChatConvo(ArrayList<User> users, Context dick) {
        mUsers = users;
        mContext = dick;
    }

    private Context getContext() {
        return mContext;
    }

    @Override
    public ActiveChatConvo.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        Context context = parent.getContext();
        LayoutInflater inflater = LayoutInflater.from(context);

        // Inflate the custom layout
        View contactView = inflater.inflate(R.layout.chat_single_item, parent, false);

        // Return a new holder instance
        ViewHolder viewHolder = new ViewHolder(contactView);
        return viewHolder;
    }

    @Override
    public void onBindViewHolder(ViewHolder holder, int position) {
        // Get the data model based on position
        User user = mUsers.get(position);

        // Set item views based on your views and data model
        TextView name = holder.mItemName;
        name.setText(user.getName());
        TextView description = holder.mItemDescription;
        description.setText(user.getEmail());
        ImageView pic = holder.mItemImage;
        Picasso.with(pic.getContext()).load(Uri.parse(user.getPic())).into(pic);

    }

    @Override
    public int getItemCount() {
        return mUsers.size();
    }

    public static class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {

        private ImageView mItemImage;
        private TextView mItemName;
        private TextView mItemDescription;
        private LinearLayout layout;
        final LinearLayout.LayoutParams params;

        public ViewHolder(View v) {
            super(v);

            mItemImage = (ImageView) v.findViewById(R.id.chat_persion_image);
            mItemName = (TextView) v.findViewById(R.id.chat_persion_name);
            mItemDescription = (TextView) v.findViewById(R.id.chat_persion_email);
            layout = (LinearLayout) itemView.findViewById(R.id.show_chat_single_item_layout);
            params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
            v.setOnClickListener(this);
        }

        @Override
        public void onClick(View v) {
            Context context = itemView.getContext();


            Intent intent = new Intent(context, ChatConversationActivity.class);
            // intent.putExtra("image_id", );
            intent.putExtra("descripion", mItemDescription.getText().toString());
            intent.putExtra("name", mItemName.getText().toString());

            context.startActivity(intent);
        }
    }
}
fragment_chat.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.swampass.nauticalapp.ChatsFragment">

    <!-- TODO: Update blank fragment layout -->
    <android.support.v7.widget.RecyclerView

        android:id="@+id/active_chats"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentBottom="true"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:background="@color/colorAccent">


    </android.support.v7.widget.RecyclerView>

</LinearLayout>

在ChatFragment.java中,您应该返回您创建的视图-阴茎,而不是充气器。充气器。布局。片段\u chats,container,false。在这种情况下,将返回一个空视图,而不是您正在创建的视图。

更改此lint return inflater.inflater.layout.fragment\u chats,container,false;返回阴茎;这一定是第一次发生,所以阴茎才是答案。