Android ListViewでより多くのドロップダウン・リフレッシュ機能を搭載(pull-to-refreshを採用)
9007 ワード
Androidはアップロード機能とドロップダウンリフレッシュ機能を実現し、
現在比較的人気のあるPullToRefreshを採用し、現在比較的良いドロップダウンリフレッシュを実現しているクラスライブラリです.
現在、彼がサポートしているコントロールは、ListView、ExpandableListView、GridView、WebViewなどです.
ダウンロード先:https://github.com/chrisbanes/Android-PullToRefresh
まず最初のステップはもちろんlibriayを私たちのプロジェクトに導入します.具体的な導入方法は、ここでは説明しません.
以下の例はListViewを採用していますが、もちろん残りはこれと似ています.
1、レイアウトファイルactivity_main.xml
2、ドロップダウン・リフレッシュの機能を実現するのは簡単で、OnRefreshListenerのOnRefreshメソッドを実現するだけでよい.ここでは,上引きと下引きがそれぞれ異なる操作を実行する方法について述べる.
ここで参考にしましたhttp://blog.csdn.net/ueryueryuery/article/details/17440465
原理は、ドロップダウンとプルアップで表示されるレイアウトの可視状態クラスに基づいて、プルアップとプルダウンを区別し、対応する操作を実行することです.
PullToRefreshのクラスライブラリのcom.handmark.pulltorefresh.libraryバッグの下でPullToRefreshBaseを開きます.JAva、このクラスの一番後ろに次のコードを追加します.
3、Activityでのコードは以下の通りです.
上記のコードに示すように、OnRefreshの実装コードでは、プルアップまたはドロップダウンを区別するために使用され、キーコードは以下の通りです.
これで、プロジェクトを実行すると、プレゼンテーションの結果が得られます.
原文住所:http://www.dutycode.com/post-13.html
私のブログ:http://www.dutycode.com
参考サイト:http://blog.csdn.net/ueryueryuery/article/details/17440465
現在比較的人気のあるPullToRefreshを採用し、現在比較的良いドロップダウンリフレッシュを実現しているクラスライブラリです.
現在、彼がサポートしているコントロールは、ListView、ExpandableListView、GridView、WebViewなどです.
ダウンロード先:https://github.com/chrisbanes/Android-PullToRefresh
まず最初のステップはもちろんlibriayを私たちのプロジェクトに導入します.具体的な導入方法は、ここでは説明しません.
以下の例はListViewを採用していますが、もちろん残りはこれと似ています.
1、レイアウトファイルactivity_main.xml
01
<
RelativeLayout
xmlns:android
=
"http://schemas.android.com/apk/res/android"
02
xmlns:tools
=
"http://schemas.android.com/tools"
03
android:layout_width
=
"match_parent"
04
android:layout_height
=
"match_parent"
05
tools:context
=
".MainActivity"
>
06
07
<
com.handmark.pulltorefresh.library.PullToRefreshListView
08
android:id
=
"@+id/pull_refresh_list"
09
android:layout_width
=
"fill_parent"
10
android:layout_height
=
"fill_parent"
/>
11
</
RelativeLayout
>
2、ドロップダウン・リフレッシュの機能を実現するのは簡単で、OnRefreshListenerのOnRefreshメソッドを実現するだけでよい.ここでは,上引きと下引きがそれぞれ異なる操作を実行する方法について述べる.
ここで参考にしましたhttp://blog.csdn.net/ueryueryuery/article/details/17440465
原理は、ドロップダウンとプルアップで表示されるレイアウトの可視状態クラスに基づいて、プルアップとプルダウンを区別し、対応する操作を実行することです.
PullToRefreshのクラスライブラリのcom.handmark.pulltorefresh.libraryバッグの下でPullToRefreshBaseを開きます.JAva、このクラスの一番後ろに次のコードを追加します.
1
public
boolean
isHeaderShown() {
2
return
getHeaderLayout().isShown();
3
}
4
5
public
boolean
isFooterShown() {
6
return
getFooterLayout().isShown();
7
}
3、Activityでのコードは以下の通りです.
01
public
class
MainActivity
extends
ListActivity {
02
03
private
PullToRefreshListView mPullToRefreshListView;
04
05
private
LinkedList<String> mItemList;
06
private
ArrayAdapter<String> adapter;
07
08
private
Context context;
09
@Override
10
protected
void
onCreate(Bundle savedInstanceState) {
11
super
.onCreate(savedInstanceState);
12
setContentView(R.layout.activity_main);
13
context =
this
;
14
initData();
15
16
adapter =
new
ArrayAdapter<String>(
this
, android.R.layout.simple_list_item_1, mItemList);
17
18
//
19
mPullToRefreshListView = (PullToRefreshListView)findViewById(R.id.pull_refresh_list);
20
ListView mListView = mPullToRefreshListView.getRefreshableView();
21
mListView.setAdapter(adapter);
22
23
// pull-to-refresh Mode.Both
24
mPullToRefreshListView.setMode(Mode.BOTH);
25
26
//
27
mPullToRefreshListView.setOnRefreshListener(
new
OnRefreshListener<ListView>() {
28
29
@Override
30
public
void
onRefresh(PullToRefreshBase<ListView> refreshView) {
31
32
if
(refreshView.isHeaderShown()){
33
Toast.makeText(context,
" "
,Toast.LENGTH_SHORT).show();
34
//
35
}
else
{
36
Toast.makeText(context,
" "
,Toast.LENGTH_SHORT).show();
37
//
38
}
39
40
}
41
});
42
43
}
44
45
46
private
void
initData(){
47
//
48
mItemList =
new
LinkedList<String>();
49
mItemList.addAll(Arrays.asList(data));
50
51
}
52
53
private
String[] data =
new
String[]{
"data1"
,
"data2"
,
"data3"
,
"data4"
,
"data5"
,
"data6"
,
54
"data1"
,
"data2"
,
"data3"
,
"data4"
,
"data5"
,
"data6"
};
55
}
上記のコードに示すように、OnRefreshの実装コードでは、プルアップまたはドロップダウンを区別するために使用され、キーコードは以下の通りです.
1
if
(refreshView.isHeaderShown()){
2
Toast.makeText(context,
" "
,Toast.LENGTH_SHORT).show();
3
//
4
}
else
{
5
Toast.makeText(context,
" "
,Toast.LENGTH_SHORT).show();
6
//
7
}
これで、プロジェクトを実行すると、プレゼンテーションの結果が得られます.
原文住所:http://www.dutycode.com/post-13.html
私のブログ:http://www.dutycode.com
参考サイト:http://blog.csdn.net/ueryueryuery/article/details/17440465