如何在Android中对ListView的排序进行动画处理?

时间:2015-01-07 07:30:40

标签: android listview sorting animation

我有一个未排序的整数ListView。我想按下一个按钮时按整数的升序排序这个列表。我也想为排序设置动画。我希望在排序时看到动画的项目并添加回Listview我有一种排序整数的方法。我不知道如何在不选择任何视图的情况下调用此动画,因为我想在按钮上单击进行排序。我对如何获取项目的位置感到困惑。 有人请帮帮我。谢谢。

排序方法:

  public static void swap(List<Integer> sort, int i, int j) {
        int tmp = sort.get(i);
        sort.set(i, sort.get(j));
        sort.set(j, tmp);

  }

  public static void doSort(List<Integer> sort) {
        int min;
        for (int i = 0; i < sort.size(); ++i) {
            //find minimum in the rest of array
            min = i;
            for (int j = i + 1; j < sort.size(); ++j) {
                if (sort.get(j) < sort.get(min)) {
                    min = j;
                }
            }

            //do swap
            swap(sort, i, min);

        }
  }

我将它用于动画:

 animation = AnimationUtils.loadAnimation(this,
            R.anim.slide_up_left);
    animation.setAnimationListener(new AnimationListener() {
        @Override
        public void onAnimationStart(Animation animation) {

            doSort(myList);
            listAdapter.notifyDataSetChanged();
        }

        @Override
        public void onAnimationRepeat(Animation animation) {
        }

        @Override
        public void onAnimationEnd(Animation animation) {

        }
    });

0 个答案:

没有答案