忍者ブログ

とある社内SEの備忘録 !!

主にRPA、Androidアプリ開発について投稿しています。メモ書きです。

ListViewで気を付けるべきnのこと

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

ListViewで気を付けるべきnのこと


・表示されていない要素を取得しようとしてもnullとなる
 いま表示されている要素の取得がgetChildAt(int position)
 全体の要素を取得するなら、adapterの値を取得するべき

selectView = elv.getChildAt(position);

・getPositionForViewを使用して選択行を覚えるのがいい
/**
* 親要素の押しイベント
*/
TextView.OnClickListener OnClickGroup = new View.OnClickListener() {
@Override
public void onClick(View v) {
int posi;
ExpandableListView elv = (ExpandableListView)v.getParent();
posi = elv.getPositionForView(v);
setSelectRow(v,posi + 1);
}
};

・getGroupViewやgetChildViewでは、生成済の行(View)はレイアウトを指定しないようにする
 ※これをやらないとかなり重くなる
if(convertView ==null) {
convertView = getGenericView(0);
}

・選択行として背景色を変更したりする場合は、行をViewとして保存するのではなくPositionで覚えさせておく
 ※表示をリサイクルで使いまわすため、選択行が画面外になると新たに表示される行が選択行として表示されてしまう。⇒まったく関係ない行が選択されて表示される

PR

コメント

プロフィール

HN:
Satoshin
性別:
男性
職業:
開拓エンジニア
趣味:
ダーツ、麻雀、カラオケ、ジョギング
自己紹介:
横浜在住の30代♂

某企業の情報システム部門に所属。
⇒転職活動中

業務効率化を推進しつつ自社用Androidアプリを開発している。
言語:Java、VB.NET、VBA、ASP.NET、C#
興味:Kotlin、Python、AWS、UiPath

横浜圏の友人皆無・・(´;ω;`)
RPA、ダーツ、麻雀、飲み仲間募集中w

麻雀格闘倶楽部はココに出没中

AbemaTVでM.LEAGUE鑑賞中!!

P R