blog

Androidマルチレベル・リストの簡単な実装

データの初期化は、最初のレイヤーを初期化し、次のレイヤーがある場合は、最初のレイヤーに2番目のレイヤーのデータをぶら下げるなど、1つのレイヤーの上に別のレイヤーがあります。 3.継承、メソッドとメソッ...

Apr 8, 2020 · 2 min. read
Share this

TreeRecycleView

1.エンティティクラスのデータ

 // 
 private int level;
 //状態、開く、閉じる
 private boolean isOpen;
 //現在の行データ
 private HashMap<String, String> obj;
 //現在の行の子データ
 private List<TreeItem> child;

エンティティクラスのデータには、階層、開閉状態、現在の行のデータ、現在の行のサブデータが含まれます。

2.データの初期化

 // 第一レベルのデータ初期化
 ArrayList<TreeItem> list = new ArrayList<>();
 TreeItem treeItem0 = getTreeItem(0, "FirstLevel0");
 TreeItem treeItem1 = getTreeItem(0, "レイヤー1");
 TreeItem treeItem2 = getTreeItem(0, "FirstLayer2");
 list.add(treeItem0);
 list.add(treeItem1);
 list.add(treeItem2);
 // 第2レベルのデータ初期化
 ArrayList<TreeItem> list0_0 = new ArrayList<>();
 TreeItem treeItem0_0 = getTreeItem(1, "レイヤー2 0");
 TreeItem treeItem0_1 = getTreeItem(1, "レイヤー2 1");
 TreeItem treeItem0_2 = getTreeItem(1, "レイヤー2");
 list0_0.add(treeItem0_0);
 list0_0.add(treeItem0_1);
 list0_0.add(treeItem0_2);
 treeItem0.addChilds(list0_0);
 // レイヤ3データの初期化
 ArrayList<TreeItem> list0_0_0 = new ArrayList<>();
 TreeItem treeItem0_0_0 = getTreeItem(2, "レイヤー3 0");
 TreeItem treeItem0_0_1 = getTreeItem(2, "レイヤー3 1");
 TreeItem treeItem0_0_2 = getTreeItem(2, "レイヤー3 2");
 list0_0_0.add(treeItem0_0_0);
 list0_0_0.add(treeItem0_0_1);
 list0_0_0.add(treeItem0_0_2);
 treeItem0_0.addChilds(list0_0_0)
 
 treeAdapter.setDatas(list);

データは1レイヤーずつ初期化され、最初のレイヤーを初期化し、次のレイヤーがある場合は2番目のレイヤーを最初のレイヤーにペグします。

3.TreeAdapterを継承し、onCreateViewHolderメソッドとgetItemViewTypeメソッドを実装し、複数のレイアウトやスタイルを実現することができ、また、独立したアクションの様々な行うことができますまたはネットワークからデータの次の層を取得するには、スケーラビリティは非常に強力であり、必要に応じて設定することができます。

 if (model.isOpen()){
 doClose(position, model);
 }else{
 doOpen(position, model);
 }

上記のコードは、ステートを通過し、アイテムがクリックされたときにdoCloseまたはdoOpenを呼び出す重要なコードで、データが正しく設定されている限り、親クラスは自動的にスムーズなアニメーションで展開とクローズを実装します。

皆さんの勉強や仕事に役立つことを願っています。

Read next

JavaScriptのプロトタイプチェーン

例の説明によると、プロトタイプ連鎖の基本的な考え方は、参照型が別の参照型のプロパティとメソッドを継承できるようにするためにプロトタイプを使用することです(例のデータ型は参照型と基本型に分かれており、基本型はプロパティとメソッドを持ちますが、基本型は参照型のプロパティとメソッドしか表すことができません)。

Apr 8, 2020 · 2 min read