我使用Android Studio启动选项构建了我的项目(使用选项卡自动构建action bar
),因此为我生成了一些内容。但是,我为使用自定义list-view fragment
的每个标签实现了adapters
。
我在添加Chris Bane的pull-to-refresh lib时遇到了麻烦。也许我输错了?我在Android开发方面相当新,特别是这个新的Gradle东西。
我在build.gradle文件中导入github存储库:
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将正常同步,我将在项目根目录的.idea文件夹中看到操作栏git中的文件。
这是我感到困惑的地方:
在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
?
这是我的ListFragment的XML,你会看到我的困惑:
<?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>
在我尝试从我的fragment类中的quick start guide
实现代码之前,这不会立即给我任何错误。尝试导入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;
答案 0 :(得分:1)
现在android已经引入了一个名为Swipe的新简单功能来刷新布局。请参阅网站devloper site和simple example
答案 1 :(得分:0)
您是否尝试过Chris Banes的本教程: https://github.com/chrisbanes/ActionBar-PullToRefresh/wiki/QuickStart-ABS ?
本教程包含所有步骤,从build.gradle开始并使用代码片段完成。
唯一的区别是:教程适用于ScrollView(不是ListView,如你所愿)。但不要害怕。只需用ListView替换ScrollView,一切都应该没问题。
更新: 你应该在这个街区特别注意:
<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