ListView使用テクニック
『Android群英伝』読書記録
1、ViewHolderモードを使用して効率を高める
2、分割線の設定
3、スクロールバーを隠す
4、ListViewのitemクリックをキャンセルする効果
5、ListViewを設定するにはいくつかの項目に表示する必要がある
6、動的更新データ
7、LlistViewのすべてのitemを遍歴する
8、空のlistviewを処理する
9、スライドモニター
OnTounchListenerは、event.getAction()によって返される3つのイベントに従って、View内のリスニングイベントが対応する論理を処理する.ACTION_DOWN(タッチ時操作)、ACTION_MOVE(移動時操作)とACTION_UP(離脱時操作)
OnScrollListenerはAbsListViewのリスニングイベントで、onScrollStateChanged()とonScroll()の2つのコールバックメソッドがあります.
onScrollStateChangedメソッドは、パラメータscrollStateに基づいてコールバック回数を決定します.scrollStateには3つのモードがあります.SCROLL_STATE_IDLE:スクロール停止時SCROLL_STATE_TOUCH_SCROLL:スクロール中のSCROLL_STATE_FLING:指が動いた時、つまり力を入れてスライドした後、離れた後にリストビューが慣性でスライドし続ける状態.投げた状態がない場合,この方法は2回コールバックし,そうでなければ3回コールバックする.
onScrollメソッドは、listviewスクロール時に常にコールバックされ、メソッドの3つのintパラメータが現在のlistviewのスクロール状態を表示します.firstVisibleItem:現在表示されている最初のitemのid(0から)visibleIteenCount:現在表示されているitemの総数(完全な表示がなく、半分の表示も含む)totalItemCount:listview全体のitemの総数
1、ViewHolderモードを使用して効率を高める
Adapter ViewHoleder , 。
......
@Override
public View getView(int positon ,View contentView ,ViewGroup parent){
ViewHolder holder = null;
//
if ( convertView == null ){
holder = new ViewHolder();
convertView= mInflater.inflate(R.layout.view_item,null);
holder.img = (ImageView) convertView.findViewById(R.id.iv);
holder.title = (TextView) convertView.findViewById(R.id.tv);
convertView.setTag(holder);
}else{
// tag
holder = (ViewHolder)convertView.getTag();
}
holder.img.setBackgroundResource(R.mipmap.background);
holder.title.setText(mData.get(position));
return convertView;
}
public final class ViewHolder{
public ImageView img;
public TextView title;
}
......
2、分割線の設定
android:divider="@android:color/red”
android:dividerHeight="10dp"
android:divider="@null”//
3、スクロールバーを隠す
android:scrollbars = "none"
4、ListViewのitemクリックをキャンセルする効果
android:listSelector = "#00000000"
android:listSelector = "@android:color/transparent"
5、ListViewを設定するにはいくつかの項目に表示する必要がある
listview.setSelection( n );
6、動的更新データ
listview.notifyDataSetChanged();
list list
7、LlistViewのすべてのitemを遍歴する
for(int i = 0; i < mListView.getChildCount();i++){
View = view = mListView.getChildAt(i);
}
8、空のlistviewを処理する
listview.setEmptyView(findViewById(R.layout.empty_view));
9、スライドモニター
OnTounchListenerは、event.getAction()によって返される3つのイベントに従って、View内のリスニングイベントが対応する論理を処理する.ACTION_DOWN(タッチ時操作)、ACTION_MOVE(移動時操作)とACTION_UP(離脱時操作)
OnScrollListenerはAbsListViewのリスニングイベントで、onScrollStateChanged()とonScroll()の2つのコールバックメソッドがあります.
onScrollStateChangedメソッドは、パラメータscrollStateに基づいてコールバック回数を決定します.scrollStateには3つのモードがあります.SCROLL_STATE_IDLE:スクロール停止時SCROLL_STATE_TOUCH_SCROLL:スクロール中のSCROLL_STATE_FLING:指が動いた時、つまり力を入れてスライドした後、離れた後にリストビューが慣性でスライドし続ける状態.投げた状態がない場合,この方法は2回コールバックし,そうでなければ3回コールバックする.
onScrollメソッドは、listviewスクロール時に常にコールバックされ、メソッドの3つのintパラメータが現在のlistviewのスクロール状態を表示します.firstVisibleItem:現在表示されている最初のitemのid(0から)visibleIteenCount:現在表示されているitemの総数(完全な表示がなく、半分の表示も含む)totalItemCount:listview全体のitemの総数