【问题标题】:Custom dropdown/popup with shorting ArrayList<Object>自定义下拉/弹出与短路 ArrayList<Object>
【发布时间】:2019-01-18 02:23:40
【问题描述】:

我将创建一个自定义下拉/弹出窗口,它的工作很完美。

见下方自定义下拉/弹出代码:

case R.id.linerSort:
                PopupMenu popup = new PopupMenu(activity, linerSort);
                //Inflating the Popup using xml file
                popup.getMenuInflater()
                        .inflate(R.menu.popup, popup.getMenu());

                //registering popup with OnMenuItemClickListener
                popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
                    public boolean onMenuItemClick(MenuItem item) {
                        Toast.makeText(
                                activity,
                                "You Clicked : " + item.getTitle(),
                                Toast.LENGTH_SHORT
                        ).show();
                        return true;
                    }
                });

                popup.show();
                break;
  • 现在我想对一个列表进行排序,我选择了一个下拉/弹出项目。

  • 按照ArrayList&lt;Object&gt;排序,那么如何使用我的代码进行排序。

  • 如果假设我选择了一个价格,那么是在做空一个升序或降序。

我点击这个链接:How to sort ArrayList<Object> in Ascending order android 但是我不明白如何与我的代码合并。

【问题讨论】:

  • 您能否更具体地说明需要排序的内容? menuItem 基于 ArrayList&lt;Object&gt; 还是什么?
  • 如果假设我选择了一个价格然后是做空一个升序或降序。 @Lino

标签: java android


【解决方案1】:

尝试下面的代码按升序或降序排序:

case R.id.HighToLow:
          Collections.sort(subCategoryViewDataBeanArrayList, new Comparator<SubCategoryViewDataBean>() {
          @Override
          public int compare(SubCategoryViewDataBean s1, SubCategoryViewDataBean s2) {
          return Integer.parseInt(String.valueOf(s2.price)) - Integer.parseInt(String.valueOf(s1.price));
          }
        });
        BindData(subCategoryViewDataBeanArrayList);
        break;

        case R.id.LowToHigh:
                    Collections.sort(subCategoryViewDataBeanArrayList, new Comparator<SubCategoryViewDataBean>() {
                     @Override
                     public int compare(SubCategoryViewDataBean s1, SubCategoryViewDataBean s2) {
                     return Integer.parseInt(String.valueOf(s1.price)) - Integer.parseInt(String.valueOf(s2.price));

                     }
                  });
                  BindData(subCategoryViewDataBeanArrayList);

【讨论】:

    猜你喜欢
    • 2014-02-15
    • 2011-02-28
    • 1970-01-01
    • 1970-01-01
    • 2010-09-28
    • 2021-09-25
    • 1970-01-01
    相关资源
    最近更新 更多