忍者ブログ

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

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

ExpandableListViewで折り畳み開閉を同期する

×

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

ExpandableListViewで折り畳み開閉を同期する


ExpandableListView elvInputとelvHisがあり、
双方にonGroupCollapseListeneronGroupExpandListenerを実装する。

片方を開閉すると、もう片方も開閉するため、
Aの開閉イベント ⇒ Bの開閉イベント ⇒ Aの開閉イベント...と無限ループとなる。

もう片方の開閉を実行するときに、開いていなければ開く、閉じていなければ閉じる。と処理条件を設定する。
ExpandableListView.OnGroupCollapseListener OnGroupCollapseInput = new ExpandableListView.OnGroupCollapseListener() {
@Override
public void onGroupCollapse(int groupPosition) {
ExpandableListView elvHis = findViewById(R.id.elvHistory);
if(elvHis.isGroupExpanded(groupPosition)) {
elvHis.collapseGroup(groupPosition);
}
}
};

ExpandableListView.OnGroupExpandListener OnGroupExpandInput = new ExpandableListView.OnGroupExpandListener() {
@Override
public void onGroupExpand(int groupPosition) {
ExpandableListView elvHis = findViewById(R.id.elvHistory);
if(!elvHis.isGroupExpanded(groupPosition)) {
elvHis.expandGroup(groupPosition);
}
}
};
ExpandableListView.OnGroupCollapseListener OnGroupCollapseHistory = new ExpandableListView.OnGroupCollapseListener() {
@Override
public void onGroupCollapse(int groupPosition) {
ExpandableListView elvInput = findViewById(R.id.elvInput);
if(elvInput.isGroupExpanded(groupPosition)) {
elvInput.collapseGroup(groupPosition);
}
}
};
ExpandableListView.OnGroupExpandListener OnGroupExpandHistory = new ExpandableListView.OnGroupExpandListener() {
@Override
public void onGroupExpand(int groupPosition) {
ExpandableListView elvInput = findViewById(R.id.elvInput);
if(!elvInput.isGroupExpanded(groupPosition)) {
elvInput.expandGroup(groupPosition);
}
}
};


PR

コメント

プロフィール

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

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

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

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

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

AbemaTVでM.LEAGUE鑑賞中!!

P R