有谁知道Firebase是否可以针对查询通知适配器。

拉斯穆斯·拉杰·约瑟夫森(Rasmus Rajje Josefsson)

我可以通知适配器更改查询吗?现在,它什么都不做...有人吗?

05-28 17:04:07.358 15585-15674 / com.example.rasmusjosefsson.rjcar D / OpenGLRenderer:0x7ff46e405c00(ListPopupWindow $ DropDownListView)上的endAllStagingAnimators,句柄为0x7ff46f3d1b00

onCreate()

private DatabaseReference mUserRef;
private String mTravelTypeSelected;
private Query queryRefSelected;
private FirebaseRecyclerAdapter<MyWaypoint, LatLngViewHolder> mFirebaseRecyclerViewAdapter;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_list);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayShowTitleEnabled(false);

    //*************** TRAVEL SPINNER**************//
    mSpinnerTravelType = (Spinner) findViewById(R.id.spinner_nav);

    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
            R.array.traveltype_array, R.layout.spinner_item);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

    mSpinnerTravelType.setAdapter(adapter);

    mSpinnerTravelType.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {

            if (position == 0) {
                queryRefSelected = mUserRef;
            } else if (position == 1) {
                queryRefSelected = mUserRef.orderByChild("travelType").equalTo("Work");
                mTravelTypeSelected = "Work";
                Log.i("TEST", position + " ");

            } else if (position == 2) {
                queryRefSelected = mUserRef.orderByChild("travelType").equalTo("Private");
                Log.i("TEST", position + " ");
            }
            mFirebaseRecyclerViewAdapter.notifyDataSetChanged();
        }

        @Override
        public void onNothingSelected(AdapterView<?> parent) {

        }
    });

    recyclerView = (RecyclerView) findViewById(R.id.card_recycler_view);
    recyclerView.setHasFixedSize(false);
    LinearLayoutManager manager = new LinearLayoutManager(this);
    manager.setReverseLayout(false);
    recyclerView.setLayoutManager(manager);
}

RecyclerViewAdapter

private void attachRecyclerViewAdapter() {

    mFirebaseRecyclerViewAdapter = new FirebaseRecyclerAdapter<MyWaypoint, LatLngViewHolder>(MyWaypoint.class, R.layout.list_item, LatLngViewHolder.class, queryRefSelected) {
        @Override
        protected void populateViewHolder(final LatLngViewHolder latLngViewHolder, MyWaypoint item, final int i) {

            Log.i("SELECTED INSIDE POP", queryRefSelected.toString());

            String locA = item.getOrigin();
            latLngViewHolder.locationA.setText(locA);

            String locB = item.getDestination();
            latLngViewHolder.locationB.setText(locB);

            String distance = item.getDistance();
            latLngViewHolder.distance.setText(distance);

           final String duration = item.getDuration();

        }
    };
    recyclerView.setAdapter(mFirebaseRecyclerViewAdapter);    
}

onStart

@Override
public void onStart() {
    super.onStart();
    FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
    if (user != null) {

        // User is signed in
        String mUserId = user.getUid();

        // String userUrl = Constants.FIREBASE_URL + "/users/" + mUserId + "/waypoints";
        String userUrl = "https://rjcar3.firebaseio.com/users/lP1K8Ik0zrhaXD6AR6C0x7ozi5g2/waypoints";
        mUserRef = FirebaseDatabase.getInstance().getReferenceFromUrl(userUrl);

        // Set standard query
        queryRefSelected = mUserRef;

        // attaching the adapter
        attachRecyclerViewAdapter();
    }
}
山姆·斯特恩

您正在调用mFirebaseRecyclerViewAdapter.notifyDataSetChanged(),这只会告诉RecyclerView刷新它已经拥有的视图。

如果要更改适配器的基础查询,则需要attachRecyclerViewAdapter()再次调用以使用new重新创建适配器Query如果这样做,请确保调用mFirebaseRecyclerViewAdapter.cleanup()旧适配器。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

有谁知道我在哪里仍然可以下载flex 3.5 sdk?

来自分类Dev

有谁知道如何通过URL获取OSM编辑窗口

来自分类Dev

有谁知道Zookeeper的AsyncCallback.StringCallback processResult()方法中的name参数是什么?

来自分类Dev

有谁知道EF6和AutoMapper进行枚举转换的过程

来自分类Dev

有谁知道如何理解这种Perl代码块?

来自分类Dev

有谁知道<< =在JavaScript中的作用

来自分类Dev

有谁知道是否可以将载波背景程序(store_in_background)与Heroku集成?

来自分类Dev

有谁知道使用批处理文件关闭Windows Defragmenter的默认计划的方法?

来自分类Dev

有谁知道如何让SonarQube分析CoffeeScript?

来自分类Dev

有谁知道如何在火箭宇宙中添加新用户?

来自分类Dev

有谁知道Dokan虚拟文件系统驱动程序是否支持文件/文件夹权限?

来自分类Dev

有谁知道如何摆脱gnuplot图中的“小条”?

来自分类Dev

有谁知道如何摆脱gnuplot图中的“小条”?

来自分类Dev

有谁知道如何关闭MUnit Coverage分析?

来自分类Dev

有谁知道更好的位模方式?

来自分类Dev

有谁知道如何排除重复的if / else结构?

来自分类Dev

有谁知道这行代码是如何工作的?

来自分类Dev

有谁知道云运行是否支持http / 2流而不支持http1.1流?

来自分类Dev

有谁知道如何让SonarQube分析CoffeeScript?

来自分类Dev

有谁知道如何从具有公式的列中获取最后输入的值?

来自分类Dev

有谁知道此代码有什么问题吗?

来自分类Dev

有谁知道Firebase是否可以针对查询通知适配器。

来自分类Dev

有谁知道如何关闭MUnit Coverage分析?

来自分类Dev

有谁知道更好的位模方式?

来自分类Dev

有谁知道我在哪里可以找到psql 8.x?

来自分类Dev

有谁知道NSISdl是否将更新为支持HTTPS?

来自分类Dev

有谁知道无法对 Outlook .ost 文件进行碎片整理是否“正常”?

来自分类Dev

有谁知道面向方面建模的工具

来自分类Dev

有谁知道 Spectrum Mobile 的 SMS 网关,我可以使用 SMTP 吗?

Related 相关文章

  1. 1

    有谁知道我在哪里仍然可以下载flex 3.5 sdk?

  2. 2

    有谁知道如何通过URL获取OSM编辑窗口

  3. 3

    有谁知道Zookeeper的AsyncCallback.StringCallback processResult()方法中的name参数是什么?

  4. 4

    有谁知道EF6和AutoMapper进行枚举转换的过程

  5. 5

    有谁知道如何理解这种Perl代码块?

  6. 6

    有谁知道<< =在JavaScript中的作用

  7. 7

    有谁知道是否可以将载波背景程序(store_in_background)与Heroku集成?

  8. 8

    有谁知道使用批处理文件关闭Windows Defragmenter的默认计划的方法?

  9. 9

    有谁知道如何让SonarQube分析CoffeeScript?

  10. 10

    有谁知道如何在火箭宇宙中添加新用户?

  11. 11

    有谁知道Dokan虚拟文件系统驱动程序是否支持文件/文件夹权限?

  12. 12

    有谁知道如何摆脱gnuplot图中的“小条”?

  13. 13

    有谁知道如何摆脱gnuplot图中的“小条”?

  14. 14

    有谁知道如何关闭MUnit Coverage分析?

  15. 15

    有谁知道更好的位模方式?

  16. 16

    有谁知道如何排除重复的if / else结构?

  17. 17

    有谁知道这行代码是如何工作的?

  18. 18

    有谁知道云运行是否支持http / 2流而不支持http1.1流?

  19. 19

    有谁知道如何让SonarQube分析CoffeeScript?

  20. 20

    有谁知道如何从具有公式的列中获取最后输入的值?

  21. 21

    有谁知道此代码有什么问题吗?

  22. 22

    有谁知道Firebase是否可以针对查询通知适配器。

  23. 23

    有谁知道如何关闭MUnit Coverage分析?

  24. 24

    有谁知道更好的位模方式?

  25. 25

    有谁知道我在哪里可以找到psql 8.x?

  26. 26

    有谁知道NSISdl是否将更新为支持HTTPS?

  27. 27

    有谁知道无法对 Outlook .ost 文件进行碎片整理是否“正常”?

  28. 28

    有谁知道面向方面建模的工具

  29. 29

    有谁知道 Spectrum Mobile 的 SMS 网关,我可以使用 SMTP 吗?

热门标签

归档