Android использование PullToRefresh для завершения ListView с возможностью прокрутки вниз для обновления и прокрутки влево для удаления
Реализация прокрутки ListView для обновления: Что касается класса PullToRefreshBase, то автор изменил исходный код, который слишком длинный, чтобы его здесь приводить. Вы можете скачать демоверсию и внимательно её изучить, основное внимание уделяется тому, как применить это к вашему проекту: /**
Created by caobo on 2016/11/1 0001.
ListView с прокруткой вниз для обновления, вверх для загрузки дополнительных данных */ public class ListViewActivity extends Activity implements PullToRefreshBase.OnRefreshListener { private PullToRefreshListView refreshlistview; private ListView mListView;
// Добавление данных в список // Здесь используется LinkedList для удобства добавления данных в демоверсии, в реальном проекте можно использовать ArrayList. private LinkedList pullData;
private ListAdapter adapter;
// Отметить индекс прокрутки вниз private int pullDownIndex = 0;
// Отметить индекс прокрутки вверх private int pullUpIndex = 0;
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_listview); pullData = new LinkedList<>(); refreshlistview = (PullToRefreshListView) findViewById(R.id.refreshlistview); refreshlistview.setPullLoadEnabled(false); refreshlistview.setScrollLoadEnabled(true); refreshlistview.setOnRefreshListener(this); mListView = refreshlistview.getRefreshableView(); adapter = new ListAdapter(getData()); mListView.setAdapter(adapter); refreshlistview.onRefreshComplete(); }
@Override public void onPullDownToRefresh(PullToRefreshBase refreshView) { onPullDown(); }
@Override public void onPullUpToRefresh(PullToRefreshBase refreshView) { onPullUp(); }
/**
/**
/**
public void onBackClick(View view){ finish(); } }
Это всё ещё очень просто, и вы можете завершить прокрутку ListView вниз для обновления и вверх для загрузки дополнительных данных. XML файл макета также очень прост, вам нужно только сослаться на адрес PullToRefreshListView: Таким образом, мы завершили прокрутку вниз для обновления и загрузку дополнительных данных для списка ListView. Я считаю, что библиотека PullToRefresh очень мощная.
<com.jaynm.pulltorefreshscrollviewdemo.refresh.PullToRefreshListView
android:background="#000"
android:id="@+id/refreshlistview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:cacheColorHint="@android:color/transparent"
android:divider="@color/consumer_bg"
android:dividerHeight="1px"
android:fadingEdge="none"
android:orientation="vertical"
android:overScrollMode="never"
android:requiresFadingEdge="none">
</com.jaynm.pulltorefreshscrollviewdemo.refresh.PullToRefreshListView>
Реализация прокрутки ListView вниз для обновления и влево для удаления: Обратите внимание: a. Здесь мы переопределяем ListView, создавая SwipeMenuListView, поэтому он всё ещё является элементом управления списком ListView; b. Поскольку требуется прокрутка влево, необходимо определить операцию скольжения в методе onTouchEvent(); c. Необходимо учитывать конфликты событий прокрутки вниз, вверх и влево; d. Необходимо учесть, что событие удаления влево может происходить только один раз для каждого элемента списка.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )