このリンクに基づいて展開可能なリストビューを作成しました。うまく機能しています。今、私が欲しいのは
1) 別のサブ子ビューをリンクするための子ビューの作成方法
2)ウィンドウ(ビューの右側)の新しいリストビューが私の予想されるレイアウトであるため、サブ子ビューを開く必要があります。私はグーグルで検索しましたが、これを達成する方法が見つかりませんでした。これを達成するのを手伝ってください。前もって感謝します。
このリンクに基づいて展開可能なリストビューを作成しました。うまく機能しています。今、私が欲しいのは
1) 別のサブ子ビューをリンクするための子ビューの作成方法
2)ウィンドウ(ビューの右側)の新しいリストビューが私の予想されるレイアウトであるため、サブ子ビューを開く必要があります。私はグーグルで検索しましたが、これを達成する方法が見つかりませんでした。これを達成するのを手伝ってください。前もって感謝します。
では、最初の子を別の ListView に展開しますか? それとも、一致する ListView を含む別のアクティビティ/フラグメントを開くだけですか?
最初に必要な場合は、Childview の CustomLayout を設計できます。これは OnClick で展開され、そのコンテンツが特定の ListView に変更されます。
それ以外の場合は、最初のリストのどの子がクリックされたかに応じて、データを含む別の ListView を開くだけです。
まあ、私はそのようなものを使用して、クリック時に ChildViews を拡大して詳細情報を表示しています。
クラスを使用して、Row という名前のデータをラップしています。これらの行は、クリック可能かどうかを示します。クリック可能である場合、ListView は行のクリックを許可します。その後、クリックはクラス自体によって処理され、表示されるテキストが長くなります (より詳細になります)。アイテムを再レイアウトするには、notifyDataSetChanged を呼び出す必要があります。
@Override
public void onClick(Context context, MyExpandableListAdapter mela) {
this.setBig(!isBig());
mela.notifyDataSetChanged();
}
したがって、親アダプターの getView メソッドで行の状態 (展開/通常) を処理して、どの childLayout を膨らませるかを決定します。
このように見えるでしょう
public View getView (args...) {
Object data = getItem(position);
if (data.isExpanded()) {
//inflate ListView Layout, create Addapter fill it....
} else {
//show some title or whatever to identify row.
}
}