Как я могу отобразить категорию между примером (3 и 7) в firebase? - PullRequest
0 голосов
/ 14 ноября 2018

Как я могу отобразить категорию между (пример) (3 и 7) в базе данных?

foodList.orderByChild("menuId").startAt(3).endAt(7).equalTo(categoryID)

это мой код:

private void loadListFood(String categoryID) {
    adapter = new FirebaseRecyclerAdapter<Food, FoodViewHolder>(Food.class,R.layout.food_item,FoodViewHolder.class,
            foodList.orderByChild("menuId").startAt(3).endAt(7).equalTo(categoryID)

    ) {
        @Override
        protected void populateViewHolder(FoodViewHolder viewHolder, Food model, int position) {


            viewHolder.food_name.setText(model.getName());
            viewHolder.food_time.setText(model.getPrice());
            Picasso.with(getBaseContext()).load(model.getImage()).into(viewHolder.food_image);
            mDialog.dismiss();
            final Food local = model ;
            viewHolder.setItemClickListener(new ItemClickListener() {
                @Override
                public void onClick(View view, int position, boolean isLongClick) {
                    Intent intent = new Intent(FoodList.this,FoodDetail.class);
                    intent.putExtra("FoodId",adapter.getRef(position).getKey());
                    startActivity(intent);
                }
            });

        }
    };

    recyclerView.setAdapter(adapter);
}

сообщение об ошибке:

11-14 13:19:34.636 8233-8233/com.pro.ijdev.proapp E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.pro.ijdev.proapp, PID: 8233
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.pro.ijdev.proapp/com.pro.ijdev.proapp.FoodList}: java.lang.IllegalArgumentException: Can't call equalTo() and startAt() combined
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2778)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856)
    at android.app.ActivityThread.-wrap11(Unknown Source:0)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1589)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loop(Looper.java:164)
    at android.app.ActivityThread.main(ActivityThread.java:6494)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
 Caused by: java.lang.IllegalArgumentException: Can't call equalTo() and startAt() combined
    at com.google.firebase.database.Query.zze(Unknown Source:12)
    at com.google.firebase.database.Query.equalTo(Unknown Source:0)
    at com.pro.ijdev.proapp.FoodList.loadListFood(FoodList.java:63)
    at com.pro.ijdev.proapp.FoodList.onCreate(FoodList.java:53)
    at android.app.Activity.performCreate(Activity.java:7009)
    at android.app.Activity.performCreate(Activity.java:7000)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1214)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2731)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856) 
    at android.app.ActivityThread.-wrap11(Unknown Source:0) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1589) 
    at android.os.Handler.dispatchMessage(Handler.java:106) 
    at android.os.Looper.loop(Looper.java:164) 
    at android.app.ActivityThread.main(ActivityThread.java:6494) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807) 

1 Ответ

0 голосов
/ 14 ноября 2018

Как гласит ошибка:

java.lang.IllegalArgumentException: Невозможно вызвать равные комбинации toTo () и startAt ()

Вы не можете использовать оба метода equalTo() и startAt() за один звонок.Если вы хотите отсортировать свои записи по нескольким параметрам, пожалуйста, посмотрите на мой ответ из этой записи , где я объяснил, как этого можно добиться с помощью комбинированного свойства.

...