カスタムlistviewの開発で問題が発生
1263 ワード
小さなニーズがあり、ヘッダがitemに存在することをコードし、デフォルトのlayoutparamsを生成するために使用されます.
//read layout parameters AbsListView.LayoutParams layoutParams = (LayoutParams) pinnedView.getLayoutParams();
if (layoutParams == null) { layoutParams = this.generateDefaultLayoutParams(); pinnedView.setLayoutParams(layoutParams); }
anroid5.0.1の実装
anroid4.0の実装
問題を発見したかもしれませんが、低バージョンのg e n erateDefaultLayoutParamsはView Groupのlayoutparamsを生成しています.AbsListViewに強制的に移行する場合は.これは間違いだ父はどうして息子に似ているのか.
//read layout parameters AbsListView.LayoutParams layoutParams = (LayoutParams) pinnedView.getLayoutParams();
if (layoutParams == null) { layoutParams = this.generateDefaultLayoutParams(); pinnedView.setLayoutParams(layoutParams); }
anroid5.0.1の実装
@Override
protected ViewGroup.LayoutParams generateDefaultLayoutParams() {
return new AbsListView.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT, 0);
}
anroid4.0の実装
/**
* Returns a set of default layout parameters. These parameters are requested
* when the View passed to {@link #addView(View)} has no layout parameters
* already set. If null is returned, an exception is thrown from addView.
*
* @return a set of default layout parameters or null
*/
protected LayoutParams generateDefaultLayoutParams() {
return new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
}
問題を発見したかもしれませんが、低バージョンのg e n erateDefaultLayoutParamsはView Groupのlayoutparamsを生成しています.AbsListViewに強制的に移行する場合は.これは間違いだ父はどうして息子に似ているのか.