내 휴지통보기 사용 중포 기지로 데이터 가져 오기되지 않음

Ritesh 샤르마 :

내 RecyclerView는 데이터를 표시하지 않습니다.

buynow.java

public class buynow extends AppCompatActivity {
private RecyclerView recyclerView;
DatabaseReference ProductRef;
private EditText searchField;
private Button search_btn;

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

    ProductRef = FirebaseDatabase.getInstance().getReference().child("Products");

    recyclerView = (RecyclerView) findViewById(R.id.recycler_view);
    recyclerView.setHasFixedSize(true);
    recyclerView.setLayoutManager(new LinearLayoutManager(this));

    searchField = (EditText) findViewById(R.id.search_field);
    search_btn = (Button) findViewById(R.id.search_button);

    search_btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            firebaseUserSearch();
        }
    });
}

    private void firebaseUserSearch(){

    FirebaseRecyclerOptions<Products> options = new FirebaseRecyclerOptions.Builder<Products>()
            .setQuery(ProductRef,Products.class).build();

    FirebaseRecyclerAdapter<Products, UsersViewHolder> firebaseRecyclerAdapter = new 
    FirebaseRecyclerAdapter<Products, UsersViewHolder>(options) {
        @Override
        protected void onBindViewHolder(@NonNull UsersViewHolder holder, int position, @NonNull 
    Products model) {

            holder.setDetails(model.getPname(), model.getPprice(), model.getPmrp(), 
    model.getPcondition(), model.getPimage());

        }

        @NonNull
        @Override
        public UsersViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
            return null;
        }
    };

    recyclerView.setAdapter(firebaseRecyclerAdapter);

}

//View Holder Class

public class UsersViewHolder extends RecyclerView.ViewHolder{

    View mView;

    public UsersViewHolder(@NonNull View itemView) {
        super(itemView);

        mView = itemView;
    }

    public void setDetails(String phoneName, String phonePrice, String phoneMrp, String 
    phoneCondition, String phoneImage){

        TextView phone_name = (TextView) mView.findViewById(R.id.product_name);
        TextView phone_price = (TextView) mView.findViewById(R.id.product_price);
        TextView phone_mrp = (TextView) mView.findViewById(R.id.product_mrp);
        TextView phone_condition = (TextView) mView.findViewById(R.id.product_condition);
        ImageView phone_image = (ImageView)mView.findViewById(R.id.product_image);

        phone_name.setText(phoneName);
        phone_price.setText(phonePrice);
        phone_mrp.setText(phoneMrp);
        phone_condition.setText(phoneCondition);
        Picasso.with(getApplicationContext()).load(phoneImage).into(phone_image);

    }
  }
}

Products.java

public class Products {
private String pname,pprice,pimage,pmrp,pcondition;

public Products(){
}

public Products(String pname, String pprice, String pimage, String pmrp, String pcondition) {
    this.pname = pname;
    this.pprice = pprice;
    this.pimage = pimage;
    this.pmrp = pmrp;
    this.pcondition = pcondition;
}

public String getPname() {
    return pname;
}

public void setPname(String pname) {
    this.pname = pname;
}

public String getPprice() {
    return pprice;
}

public void setPprice(String pprice) {
    this.pprice = pprice;
}

public String getPimage() {
    return pimage;
}

public void setPimage(String pimage) {
    this.pimage = pimage;
}

public String getPmrp() {
    return pmrp;
}

public void setPmrp(String pmrp) {
    this.pmrp = pmrp;
}

public String getPcondition() {
    return pcondition;
}

public void setPcondition(String pcondition) {
    this.pcondition = pcondition;
}
}

Layout for RecyclerView
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:paddingTop="5dp"
android:paddingBottom="5dp"
android:background="@color/primanrybg">

<RelativeLayout
    android:padding="20dp"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/buyphones_layout_bg">

    <ImageView
        android:id="@+id/product_image"
        android:layout_width="60dp"
        android:layout_height="90dp"
        android:src="@drawable/rapid_pickup_foreground" />

    <TextView
        android:id="@+id/product_name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@+id/product_image"
        android:textSize="16sp"
        android:textColor="@color/black"
        android:paddingStart="16dp"
        android:paddingBottom="4dp"
        android:text="iPhone 6s Space Grey (64GB)"/>


    <LinearLayout
        android:id="@+id/condition"
        android:orientation="horizontal"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@+id/product_image"
        android:layout_marginLeft="16dp"
        android:background="@drawable/search_frame"
        android:layout_below="@id/product_name"
        android:layout_marginBottom="3dp"
        android:padding="2dp">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/yes_no_bg"
            android:textColor="@color/white"
            android:paddingStart="4dp"
            android:padding="1dp"
            android:paddingEnd="4dp"
            android:text="Condition:" />

        <TextView
            android:id="@+id/product_condition"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="4dp"
            android:layout_marginRight="3dp"
            android:padding="1dp"
            android:textColor="@color/black"
            android:text="Like New" />

    </LinearLayout>

    <TextView
        android:id="@+id/product_price"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/condition"
        android:layout_toRightOf="@+id/product_image"
        android:textSize="18sp"
        android:textColor="@color/black"
        android:paddingStart="16dp"
        android:text="9,9999"/>

    <TextView
        android:id="@+id/product_mrp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/product_price"
        android:layout_below="@id/condition"
        android:textSize="18sp"
        android:text="24000"
        android:textColor="@color/grey"
        android:paddingStart="10dp"/>

내 RecyclerView에 데이터를 받고 있지 않다. 그냥 오류 아무 것도 표시하지 않습니다. 어떤 도움은 매우 감사합니다. 나는 중포 기지에서 내 데이터를 가져 오는 제품의 목록을 표시합니다 recyclerview에 넣어입니다.

당신은 내가 그것을 수정할 수 있도록 내 코드에 어떤 문제가 있는지 지적 할 수 있다면 정말 좋은 것입니다.

피터 하다드 :

당신은 추가 할 필요가 startListening()있는 데이터에 대한 청취를 시작 firebaseui :

FirebaseRecyclerAdapter는 중포 기지 쿼리에 대한 변경 사항을 모니터링 할 이벤트 리스너를 사용합니다. startListening () 메서드를 호출, 데이터 대기를 시작합니다. 당신은 당신의 ONSTART () 메소드이를 호출 할 수 있습니다. 있는지 확인은 startListening를 호출하기 전에 데이터를 읽는 데 필요한 모든 인증 ()를 완료하거나 쿼리가 실패합니다.

@Override
protected void onStart() {
    super.onStart();
    firebaseRecyclerAdapter.startListening();
}

추천

출처http://43.154.161.224:23101/article/api/json?id=347839&siteId=1