Android Pull-to-Refresh с фрагментом ListView и пользовательским адаптером ListView

Я построил свой проект с использованием параметров запуска Android Studio (автоматически создает action bar с вкладками), поэтому для меня создается бит. Однако я реализовал list-view fragment для каждой из вкладок, в которых используются пользовательские adapters .

У меня возникли проблемы с добавлением сборника для обновления от Chris Bane . Может быть, я импортирую это неправильно? Я довольно новичок в разработке Android и особенно с этим новым материалом Gradle.

Я импортирую репозиторий github в файле build.gradle здесь:

 apply plugin: 'android' android { compileSdkVersion 19 buildToolsVersion "19.0.1" defaultConfig { minSdkVersion 14 targetSdkVersion 19 versionCode 1 versionName "1.0" } buildTypes { release { runProguard false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' } } } dependencies { compile 'com.android.support:support-v4:19.0.1' compile 'com.android.support:appcompat-v7:19.0.1' compile 'com.github.chrisbanes.actionbarpulltorefresh:extra-abc:+' } 

Все минус minSDKVersion и последняя компиляция в зависимостях были предварительно сгенерированы при создании моего проекта. Этот файл build.gradle является тем, который находится в моей папке `/ app.

Gradle будет синхронизироваться правильно, и я увижу файлы из gb-файла в моей папке .idea в корне проекта.

Здесь я смущаюсь:

В github repo «быстрый старт» говорится:

Первое, что вам нужно сделать, это обернуть обновленный вид в PullToRefreshLayout:

С примером кода выполните что-то вроде этого:

 <uk.co.senab.actionbarpulltorefresh.extras.actionbarcompat.PullToRefreshLayout> <listview/> </uk.co.senab.actionbarpulltorefresh.extras.actionbarcompat.PullToRefreshLayout> 

Является ли uk.co.senab.actionbarpulltorefresh.extras именем моего проекта, поэтому com.lucaapp.app ?

Вот мой XML для моего ListFragment, где вы увидите мое замешательство:

 <?xml version="1.0" encoding="utf-8"?> <com.lucaapp.app.PullToRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/ptr_layout" > <ListView android:id="@android:id/list" android:layout_width="match_parent" android:layout_height="match_parent" android:divider="#b5b5b5" android:dividerHeight="1dp" android:listSelector="@drawable/list_selector" /> <TextView android:id="@android:id/empty" android:layout_width="fill_parent" android:layout_height="fill_parent" android:text="No Events" /> </com.lucaapp.app.PullToRefreshLayout> 1 <?xml version="1.0" encoding="utf-8"?> <com.lucaapp.app.PullToRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/ptr_layout" > <ListView android:id="@android:id/list" android:layout_width="match_parent" android:layout_height="match_parent" android:divider="#b5b5b5" android:dividerHeight="1dp" android:listSelector="@drawable/list_selector" /> <TextView android:id="@android:id/empty" android:layout_width="fill_parent" android:layout_height="fill_parent" android:text="No Events" /> </com.lucaapp.app.PullToRefreshLayout> 

Это не даст мне никаких ошибок сразу, пока я не попытаюсь реализовать код из quick start guide по quick start guide в моем классе фрагментов. Я получаю ошибку Cannot Resolve Symbol пытающуюся импортировать методы github repo.

Я пробовал следующее, что делает импорт красным с cannot resolve symbol ошибку cannot resolve symbol :

 import com.lucapp.app.PullToRefreshAttacher; import com.lucapp.app.PullToRefreshLayout; import uk.co.senab.actionbarpulltorefresh.extras.actionbarcompat.PullToRefreshAttacher; 

Я предполагаю, что проблемы, с которыми я столкнулся, – это просто отсутствие знаний об импорте библиотек (никогда не делал этого раньше), поэтому, пожалуйста, расскажите мне, если это очевидное решение. Надеюсь, я предоставил достаточно информации, чтобы помочь решить эту проблему.

Вы пытались следовать этому уроку от Криса Банеса: https://github.com/chrisbanes/ActionBar-PullToRefresh/wiki/QuickStart-ABS ?

Это руководство содержит все шаги, начиная с build.gradle и заканчивая фрагментами кода.

Единственное отличие: учебник предназначен для ScrollView (а не ListView, как вы пожелаете). Но не бойтесь. Просто замените ScrollView на ListView, и все будет в порядке.

UPDATE: вы должны увидеть на этом блоке особенно:

 <uk.co.senab.actionbarpulltorefresh.extras.actionbarsherlock.PullToRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/ptr_layout" android:layout_width="match_parent" android:layout_height="match_parent"> <!-- Your content, here we're using a ScrollView --> <ScrollView android:layout_width="match_parent" android:layout_height="match_parent"> </ScrollView> </uk.co.senab.actionbarpulltorefresh.extras.actionbarsherlock.PullToRefreshLayout> 

Вам не следует использовать com.lucaapp.app.PullToRefreshLayout вместо uk.co.senab.actionbarpulltorefresh.extras.actionbarsherlock.PullToRefreshLayout

Теперь андроид представил новую простую фальсификацию Swipe для обновления макета. Пожалуйста, обратитесь на сайт разработчика и простой пример