[转载]android ExpandableListView实现不同的布局 - 上风华 - 博客园

[转载]android ExpandableListView实现不同的布局 – 上风华 – 博客园.

最近有一个需求要实现listview的不同布局!因为有好几上header,就想到了ExpandableListView!

这个是我的需求模型:看图(自己画的)

然后百度~google~发帖~总算有点效果了!其他的就不多说了。直接主要代码讲解–

 

主要是适配器的部分:ExpandableListAdapter.jave

 

<span class="kwd">public</span><span class="pln"> </span><span class="kwd">class</span><span class="pln"> </span><span class="typ">ExpandableListAdapter</span><span class="pln"> </span><span class="kwd">extends</span><span class="pln"> </span><span class="typ">BaseExpandableListAdapter</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
    </span><span class="com">// Client Status</span><span class="pln">
    </span><span class="kwd">private</span><span class="pln"> </span><span class="typ">String</span><span class="pln"> mClient_id</span><span class="pun">;</span><span class="pln">
    </span><span class="kwd">private</span><span class="pln"> </span><span class="typ">String</span><span class="pln"> mClient_name</span><span class="pun">;</span><span class="pln">
    </span><span class="kwd">private</span><span class="pln"> </span><span class="typ">String</span><span class="pln"> mClient_realid</span><span class="pun">;</span><span class="pln">
    </span><span class="kwd">private</span><span class="pln"> </span><span class="typ">String</span><span class="pln"> mClient_totally</span><span class="pun">;</span><span class="pln">
    </span><span class="com">// Stocks's product</span><span class="pln">
    </span><span class="kwd">private</span><span class="pln"> </span><span class="typ">String</span><span class="pln"> mStocks</span><span class="pun">;</span><span class="pln">
    </span><span class="kwd">private</span><span class="pln"> </span><span class="typ">String</span><span class="pln"> mStocks_name</span><span class="pun">;</span><span class="pln">
    </span><span class="kwd">private</span><span class="pln"> </span><span class="typ">String</span><span class="pln"> mStocks_counts</span><span class="pun">;</span><span class="pln">
    </span><span class="kwd">private</span><span class="pln"> </span><span class="typ">String</span><span class="pln"> mStocks_cost</span><span class="pun">;</span><span class="pln">
    </span><span class="kwd">private</span><span class="pln"> </span><span class="typ">String</span><span class="pln"> mStocks_now</span><span class="pun">;</span><span class="pln">
    </span><span class="kwd">private</span><span class="pln"> </span><span class="typ">String</span><span class="pln"> mStocks_mark</span><span class="pun">;</span><span class="pln">
    </span><span class="com">// Moreprofit's product</span><span class="pln">
    </span><span class="kwd">private</span><span class="pln"> </span><span class="typ">String</span><span class="pln"> mMoreprofit</span><span class="pun">;</span><span class="pln">
    </span><span class="kwd">private</span><span class="pln"> </span><span class="typ">String</span><span class="pln"> mMoreprofit_name</span><span class="pun">;</span><span class="pln">
    </span><span class="kwd">private</span><span class="pln"> </span><span class="typ">String</span><span class="pln"> mMoreprofit_counts</span><span class="pun">;</span><span class="pln">
    </span><span class="kwd">private</span><span class="pln"> </span><span class="typ">String</span><span class="pln"> mMoreprofit_rate</span><span class="pun">;</span><span class="pln">
    </span><span class="kwd">private</span><span class="pln"> </span><span class="typ">String</span><span class="pln"> mMoreprofit_years</span><span class="pun">;</span><span class="pln">
    </span><span class="kwd">private</span><span class="pln"> </span><span class="typ">String</span><span class="pln"> mMoreprofit_mark</span><span class="pun">;</span><span class="pln">
  
    </span><span class="com">// Pes's product</span><span class="pln">
    </span><span class="kwd">private</span><span class="pln"> </span><span class="typ">String</span><span class="pln"> mPes</span><span class="pun">;</span><span class="pln">
    </span><span class="kwd">private</span><span class="pln"> </span><span class="typ">String</span><span class="pln"> mPes_projects</span><span class="pun">;</span><span class="pln">
    </span><span class="kwd">private</span><span class="pln"> </span><span class="typ">String</span><span class="pln"> mPes_invest_amount</span><span class="pun">;</span><span class="pln">
    </span><span class="kwd">private</span><span class="pln"> </span><span class="typ">String</span><span class="pln"> mPes_mark</span><span class="pun">;</span><span class="pln">
  
    </span><span class="kwd">private</span><span class="pln"> </span><span class="typ">Context</span><span class="pln"> mContext</span><span class="pun">;</span><span class="pln">
  
    </span><span class="kwd">private</span><span class="pln"> </span><span class="kwd">final</span><span class="pln"> </span><span class="kwd">int</span><span class="pln"> VIEW_TYPE </span><span class="pun">=</span><span class="pln"> </span><span class="lit">3</span><span class="pun">;</span><span class="pln">
    </span><span class="kwd">private</span><span class="pln"> </span><span class="kwd">final</span><span class="pln"> </span><span class="kwd">int</span><span class="pln"> TYPE_1 </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">
    </span><span class="kwd">private</span><span class="pln"> </span><span class="kwd">final</span><span class="pln"> </span><span class="kwd">int</span><span class="pln"> TYPE_2 </span><span class="pun">=</span><span class="pln"> </span><span class="lit">1</span><span class="pun">;</span><span class="pln">
    </span><span class="kwd">private</span><span class="pln"> </span><span class="kwd">final</span><span class="pln"> </span><span class="kwd">int</span><span class="pln"> TYPE_3 </span><span class="pun">=</span><span class="pln"> </span><span class="lit">2</span><span class="pun">;</span><span class="pln">
  
    </span><span class="kwd">private</span><span class="pln"> </span><span class="typ">LayoutInflater</span><span class="pln"> mLayoutInflater</span><span class="pun">;</span><span class="pln">
  
    </span><span class="com">// private HandleClick mHandleClick;</span><span class="pln">
    </span><span class="kwd">private</span><span class="pln"> </span><span class="typ">String</span><span class="pun">[]</span><span class="pln"> mProduct_what </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">String</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="str">"xx类产品"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"xx收益类产品"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"xx类投资"</span><span class="pln"> </span><span class="pun">};</span><span class="pln">
    </span><span class="kwd">private</span><span class="pln"> </span><span class="typ">String</span><span class="pun">[][]</span><span class="pln"> mProduct_what_items </span><span class="pun">=</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="pun">{</span><span class="pln"> </span><span class="str">"产品名称"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"持有数量"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"买入成本"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"当前净值"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"备注"</span><span class="pln"> </span><span class="pun">},</span><span class="pln">
            </span><span class="pun">{</span><span class="pln"> </span><span class="str">"产品名称"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"持有数量"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"年收益率"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"期限"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"备注"</span><span class="pln"> </span><span class="pun">},</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="str">"项目"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"投资金额"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"备注"</span><span class="pln"> </span><span class="pun">}</span><span class="pln"> </span><span class="pun">};</span><span class="pln">
  
    </span><span class="kwd">public</span><span class="pln"> </span><span class="typ">ExpandableListAdapter</span><span class="pun">(</span><span class="typ">Context</span><span class="pln"> mContext</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        mLayoutInflater </span><span class="pun">=</span><span class="pln"> </span><span class="typ">LayoutInflater</span><span class="pun">.</span><span class="kwd">from</span><span class="pun">(</span><span class="pln">mContext</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">this</span><span class="pun">.</span><span class="pln">mContext </span><span class="pun">=</span><span class="pln"> mContext</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">
  
    </span><span class="kwd">public</span><span class="pln"> </span><span class="typ">ExpandableListAdapter</span><span class="pun">(</span><span class="typ">Context</span><span class="pln"> mContext</span><span class="pun">,</span><span class="pln"> </span><span class="typ">String</span><span class="pln"> mClient_id</span><span class="pun">,</span><span class="pln">
            </span><span class="typ">String</span><span class="pln"> mClient_name</span><span class="pun">,</span><span class="pln"> </span><span class="typ">String</span><span class="pln"> mClient_realid</span><span class="pun">,</span><span class="pln"> </span><span class="typ">String</span><span class="pln"> mClient_totally</span><span class="pun">,</span><span class="pln">
            </span><span class="typ">String</span><span class="pln"> mStocks</span><span class="pun">,</span><span class="pln"> </span><span class="typ">String</span><span class="pln"> mStocks_name</span><span class="pun">,</span><span class="pln"> </span><span class="typ">String</span><span class="pln"> mStocks_counts</span><span class="pun">,</span><span class="pln">
            </span><span class="typ">String</span><span class="pln"> mStocks_cost</span><span class="pun">,</span><span class="pln"> </span><span class="typ">String</span><span class="pln"> mStocks_now</span><span class="pun">,</span><span class="pln"> </span><span class="typ">String</span><span class="pln"> mStocks_mark</span><span class="pun">,</span><span class="pln">
            </span><span class="typ">String</span><span class="pln"> mMoreprofit</span><span class="pun">,</span><span class="pln"> </span><span class="typ">String</span><span class="pln"> mMoreprofit_name</span><span class="pun">,</span><span class="pln">
            </span><span class="typ">String</span><span class="pln"> mMoreprofit_counts</span><span class="pun">,</span><span class="pln"> </span><span class="typ">String</span><span class="pln"> mMoreprofit_rate</span><span class="pun">,</span><span class="pln">
            </span><span class="typ">String</span><span class="pln"> mMoreprofit_years</span><span class="pun">,</span><span class="pln"> </span><span class="typ">String</span><span class="pln"> mMoreprofit_mark</span><span class="pun">,</span><span class="pln"> </span><span class="typ">String</span><span class="pln"> mPes</span><span class="pun">,</span><span class="pln">
            </span><span class="typ">String</span><span class="pln"> mPes_projects</span><span class="pun">,</span><span class="pln"> </span><span class="typ">String</span><span class="pln"> mPes_invest_amount</span><span class="pun">,</span><span class="pln"> </span><span class="typ">String</span><span class="pln"> mPes_mark</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="com">// super();</span><span class="pln">
        </span><span class="kwd">this</span><span class="pun">.</span><span class="pln">mClient_id </span><span class="pun">=</span><span class="pln"> mClient_id</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">this</span><span class="pun">.</span><span class="pln">mClient_name </span><span class="pun">=</span><span class="pln"> mClient_name</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">this</span><span class="pun">.</span><span class="pln">mClient_realid </span><span class="pun">=</span><span class="pln"> mClient_realid</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">this</span><span class="pun">.</span><span class="pln">mClient_totally </span><span class="pun">=</span><span class="pln"> mClient_totally</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">this</span><span class="pun">.</span><span class="pln">mStocks </span><span class="pun">=</span><span class="pln"> mStocks</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">this</span><span class="pun">.</span><span class="pln">mStocks_name </span><span class="pun">=</span><span class="pln"> mStocks_name</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">this</span><span class="pun">.</span><span class="pln">mStocks_counts </span><span class="pun">=</span><span class="pln"> mStocks_counts</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">this</span><span class="pun">.</span><span class="pln">mStocks_cost </span><span class="pun">=</span><span class="pln"> mStocks_cost</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">this</span><span class="pun">.</span><span class="pln">mStocks_now </span><span class="pun">=</span><span class="pln"> mStocks_now</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">this</span><span class="pun">.</span><span class="pln">mStocks_mark </span><span class="pun">=</span><span class="pln"> mStocks_mark</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">this</span><span class="pun">.</span><span class="pln">mMoreprofit </span><span class="pun">=</span><span class="pln"> mMoreprofit</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">this</span><span class="pun">.</span><span class="pln">mMoreprofit_name </span><span class="pun">=</span><span class="pln"> mMoreprofit_name</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">this</span><span class="pun">.</span><span class="pln">mMoreprofit_counts </span><span class="pun">=</span><span class="pln"> mMoreprofit_counts</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">this</span><span class="pun">.</span><span class="pln">mMoreprofit_rate </span><span class="pun">=</span><span class="pln"> mMoreprofit_rate</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">this</span><span class="pun">.</span><span class="pln">mMoreprofit_years </span><span class="pun">=</span><span class="pln"> mMoreprofit_years</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">this</span><span class="pun">.</span><span class="pln">mMoreprofit_mark </span><span class="pun">=</span><span class="pln"> mMoreprofit_mark</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">this</span><span class="pun">.</span><span class="pln">mPes </span><span class="pun">=</span><span class="pln"> mPes</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">this</span><span class="pun">.</span><span class="pln">mPes_projects </span><span class="pun">=</span><span class="pln"> mPes_projects</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">this</span><span class="pun">.</span><span class="pln">mPes_invest_amount </span><span class="pun">=</span><span class="pln"> mPes_invest_amount</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">this</span><span class="pun">.</span><span class="pln">mPes_mark </span><span class="pun">=</span><span class="pln"> mPes_mark</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">this</span><span class="pun">.</span><span class="pln">mContext </span><span class="pun">=</span><span class="pln"> mContext</span><span class="pun">;</span><span class="pln">
  
        mLayoutInflater </span><span class="pun">=</span><span class="pln"> </span><span class="typ">LayoutInflater</span><span class="pun">.</span><span class="kwd">from</span><span class="pun">(</span><span class="pln">mContext</span><span class="pun">);</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">
  
    </span><span class="lit">@Override</span><span class="pln">
    </span><span class="kwd">public</span><span class="pln"> </span><span class="typ">Object</span><span class="pln"> getChild</span><span class="pun">(</span><span class="kwd">int</span><span class="pln"> arg0</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">int</span><span class="pln"> arg1</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">return</span><span class="pln"> </span><span class="kwd">null</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">
  
    </span><span class="lit">@Override</span><span class="pln">
    </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">long</span><span class="pln"> getChildId</span><span class="pun">(</span><span class="kwd">int</span><span class="pln"> groupPosition</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">int</span><span class="pln"> childPosition</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">return</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">
  
    </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">int</span><span class="pln"> getItemViewType</span><span class="pun">(</span><span class="kwd">int</span><span class="pln"> groupPosition</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">int</span><span class="pln"> p </span><span class="pun">=</span><span class="pln"> groupPosition</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">p </span><span class="pun">==</span><span class="pln"> </span><span class="lit">0</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> TYPE_1</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">p </span><span class="pun">==</span><span class="pln"> </span><span class="lit">1</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> TYPE_2</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">p </span><span class="pun">==</span><span class="pln"> </span><span class="lit">2</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> TYPE_3</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> TYPE_1</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">
  
    </span><span class="lit">@Override</span><span class="pln">
    </span><span class="kwd">public</span><span class="pln"> </span><span class="typ">View</span><span class="pln"> getChildView</span><span class="pun">(</span><span class="kwd">int</span><span class="pln"> groupPosition</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">int</span><span class="pln"> childPosition</span><span class="pun">,</span><span class="pln">
            </span><span class="kwd">boolean</span><span class="pln"> isLastChild</span><span class="pun">,</span><span class="pln"> </span><span class="typ">View</span><span class="pln"> convertView</span><span class="pun">,</span><span class="pln"> </span><span class="typ">ViewGroup</span><span class="pln"> parent</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">int</span><span class="pln"> type </span><span class="pun">=</span><span class="pln"> getItemViewType</span><span class="pun">(</span><span class="pln">groupPosition</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">switch</span><span class="pln"> </span><span class="pun">(</span><span class="pln">type</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">case</span><span class="pln"> TYPE_1</span><span class="pun">:</span><span class="pln">
            convertView </span><span class="pun">=</span><span class="pln"> mLayoutInflater</span><span class="pun">.</span><span class="pln">inflate</span><span class="pun">(</span><span class="pln">R</span><span class="pun">.</span><span class="pln">layout</span><span class="pun">.</span><span class="pln">item_table</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">null</span><span class="pun">);</span><span class="pln">
            </span><span class="typ">TextView</span><span class="pln"> mProduct_name_1 </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="typ">TextView</span><span class="pun">)</span><span class="pln"> convertView
                    </span><span class="pun">.</span><span class="pln">findViewById</span><span class="pun">(</span><span class="pln">R</span><span class="pun">.</span><span class="pln">id</span><span class="pun">.</span><span class="pln">product_name</span><span class="pun">);</span><span class="pln">
            </span><span class="typ">TextView</span><span class="pln"> mProduct_counts_1 </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="typ">TextView</span><span class="pun">)</span><span class="pln"> convertView
                    </span><span class="pun">.</span><span class="pln">findViewById</span><span class="pun">(</span><span class="pln">R</span><span class="pun">.</span><span class="pln">id</span><span class="pun">.</span><span class="pln">product_count</span><span class="pun">);</span><span class="pln">
            </span><span class="typ">TextView</span><span class="pln"> mProduct_cost_1 </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="typ">TextView</span><span class="pun">)</span><span class="pln"> convertView
                    </span><span class="pun">.</span><span class="pln">findViewById</span><span class="pun">(</span><span class="pln">R</span><span class="pun">.</span><span class="pln">id</span><span class="pun">.</span><span class="pln">product_cost</span><span class="pun">);</span><span class="pln">
            </span><span class="typ">TextView</span><span class="pln"> mProduct_status_1 </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="typ">TextView</span><span class="pun">)</span><span class="pln"> convertView
                    </span><span class="pun">.</span><span class="pln">findViewById</span><span class="pun">(</span><span class="pln">R</span><span class="pun">.</span><span class="pln">id</span><span class="pun">.</span><span class="pln">product_status</span><span class="pun">);</span><span class="pln">
            </span><span class="typ">TextView</span><span class="pln"> mProduct_mark_1 </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="typ">TextView</span><span class="pun">)</span><span class="pln"> convertView
                    </span><span class="pun">.</span><span class="pln">findViewById</span><span class="pun">(</span><span class="pln">R</span><span class="pun">.</span><span class="pln">id</span><span class="pun">.</span><span class="pln">product_mark</span><span class="pun">);</span><span class="pln">
            </span><span class="com">//这里是自定义一个子item的,当position==0时显示标题栏</span><span class="pln">
            </span><span class="kwd">switch</span><span class="pln"> </span><span class="pun">(</span><span class="pln">childPosition</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">case</span><span class="pln"> </span><span class="lit">0</span><span class="pun">:</span><span class="pln">
                mProduct_name_1</span><span class="pun">.</span><span class="pln">setText</span><span class="pun">(</span><span class="pln">mProduct_what_items</span><span class="pun">[</span><span class="lit">0</span><span class="pun">][</span><span class="lit">0</span><span class="pun">]);</span><span class="pln">
                mProduct_counts_1</span><span class="pun">.</span><span class="pln">setText</span><span class="pun">(</span><span class="pln">mProduct_what_items</span><span class="pun">[</span><span class="lit">0</span><span class="pun">][</span><span class="lit">1</span><span class="pun">]);</span><span class="pln">
                mProduct_cost_1</span><span class="pun">.</span><span class="pln">setText</span><span class="pun">(</span><span class="pln">mProduct_what_items</span><span class="pun">[</span><span class="lit">0</span><span class="pun">][</span><span class="lit">2</span><span class="pun">]);</span><span class="pln">
                mProduct_status_1</span><span class="pun">.</span><span class="pln">setText</span><span class="pun">(</span><span class="pln">mProduct_what_items</span><span class="pun">[</span><span class="lit">0</span><span class="pun">][</span><span class="lit">3</span><span class="pun">]);</span><span class="pln">
                mProduct_mark_1</span><span class="pun">.</span><span class="pln">setText</span><span class="pun">(</span><span class="pln">mProduct_what_items</span><span class="pun">[</span><span class="lit">0</span><span class="pun">][</span><span class="lit">4</span><span class="pun">]);</span><span class="pln">
                </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
  
            </span><span class="kwd">default</span><span class="pun">:</span><span class="pln">
                mProduct_name_1</span><span class="pun">.</span><span class="pln">setText</span><span class="pun">(</span><span class="str">"888"</span><span class="pun">);</span><span class="pln">
                mProduct_counts_1</span><span class="pun">.</span><span class="pln">setText</span><span class="pun">(</span><span class="str">"888"</span><span class="pun">);</span><span class="pln">
                mProduct_cost_1</span><span class="pun">.</span><span class="pln">setText</span><span class="pun">(</span><span class="str">"888"</span><span class="pun">);</span><span class="pln">
                mProduct_status_1</span><span class="pun">.</span><span class="pln">setText</span><span class="pun">(</span><span class="str">"888"</span><span class="pun">);</span><span class="pln">
                mProduct_mark_1</span><span class="pun">.</span><span class="pln">setText</span><span class="pun">(</span><span class="str">"888"</span><span class="pun">);</span><span class="pln">
                </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
  
            </span><span class="pun">}</span><span class="pln">
            </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
  
        </span><span class="kwd">case</span><span class="pln"> TYPE_2</span><span class="pun">:</span><span class="pln">
            convertView </span><span class="pun">=</span><span class="pln"> mLayoutInflater</span><span class="pun">.</span><span class="pln">inflate</span><span class="pun">(</span><span class="pln">R</span><span class="pun">.</span><span class="pln">layout</span><span class="pun">.</span><span class="pln">item_table</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">null</span><span class="pun">);</span><span class="pln">
            </span><span class="typ">TextView</span><span class="pln"> mProduct_name_2 </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="typ">TextView</span><span class="pun">)</span><span class="pln"> convertView
                    </span><span class="pun">.</span><span class="pln">findViewById</span><span class="pun">(</span><span class="pln">R</span><span class="pun">.</span><span class="pln">id</span><span class="pun">.</span><span class="pln">product_name</span><span class="pun">);</span><span class="pln">
            </span><span class="typ">TextView</span><span class="pln"> mProduct_counts_2 </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="typ">TextView</span><span class="pun">)</span><span class="pln"> convertView
                    </span><span class="pun">.</span><span class="pln">findViewById</span><span class="pun">(</span><span class="pln">R</span><span class="pun">.</span><span class="pln">id</span><span class="pun">.</span><span class="pln">product_count</span><span class="pun">);</span><span class="pln">
            </span><span class="typ">TextView</span><span class="pln"> mProduct__rate_2 </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="typ">TextView</span><span class="pun">)</span><span class="pln"> convertView
                    </span><span class="pun">.</span><span class="pln">findViewById</span><span class="pun">(</span><span class="pln">R</span><span class="pun">.</span><span class="pln">id</span><span class="pun">.</span><span class="pln">product_cost</span><span class="pun">);</span><span class="pln">
            </span><span class="typ">TextView</span><span class="pln"> mProduct__years_2 </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="typ">TextView</span><span class="pun">)</span><span class="pln"> convertView
                    </span><span class="pun">.</span><span class="pln">findViewById</span><span class="pun">(</span><span class="pln">R</span><span class="pun">.</span><span class="pln">id</span><span class="pun">.</span><span class="pln">product_status</span><span class="pun">);</span><span class="pln">
            </span><span class="typ">TextView</span><span class="pln"> mProduct_mark_2 </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="typ">TextView</span><span class="pun">)</span><span class="pln"> convertView
                    </span><span class="pun">.</span><span class="pln">findViewById</span><span class="pun">(</span><span class="pln">R</span><span class="pun">.</span><span class="pln">id</span><span class="pun">.</span><span class="pln">product_mark</span><span class="pun">);</span><span class="pln">
            </span><span class="com">//这里是自定义一个子item的,当position==0时显示标题栏</span><span class="pln">
            </span><span class="kwd">switch</span><span class="pln"> </span><span class="pun">(</span><span class="pln">childPosition</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">case</span><span class="pln"> </span><span class="lit">0</span><span class="pun">:</span><span class="pln">
                mProduct_name_2</span><span class="pun">.</span><span class="pln">setText</span><span class="pun">(</span><span class="pln">mProduct_what_items</span><span class="pun">[</span><span class="lit">1</span><span class="pun">][</span><span class="lit">0</span><span class="pun">]);</span><span class="pln">
                mProduct_counts_2</span><span class="pun">.</span><span class="pln">setText</span><span class="pun">(</span><span class="pln">mProduct_what_items</span><span class="pun">[</span><span class="lit">1</span><span class="pun">][</span><span class="lit">1</span><span class="pun">]);</span><span class="pln">
                mProduct__rate_2</span><span class="pun">.</span><span class="pln">setText</span><span class="pun">(</span><span class="pln">mProduct_what_items</span><span class="pun">[</span><span class="lit">1</span><span class="pun">][</span><span class="lit">2</span><span class="pun">]);</span><span class="pln">
                mProduct__years_2</span><span class="pun">.</span><span class="pln">setText</span><span class="pun">(</span><span class="pln">mProduct_what_items</span><span class="pun">[</span><span class="lit">1</span><span class="pun">][</span><span class="lit">3</span><span class="pun">]);</span><span class="pln">
                mProduct_mark_2</span><span class="pun">.</span><span class="pln">setText</span><span class="pun">(</span><span class="pln">mProduct_what_items</span><span class="pun">[</span><span class="lit">1</span><span class="pun">][</span><span class="lit">4</span><span class="pun">]);</span><span class="pln">
                </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
  
            </span><span class="kwd">default</span><span class="pun">:</span><span class="pln">
                mProduct_name_2</span><span class="pun">.</span><span class="pln">setText</span><span class="pun">(</span><span class="str">"888"</span><span class="pun">);</span><span class="pln">
                mProduct_counts_2</span><span class="pun">.</span><span class="pln">setText</span><span class="pun">(</span><span class="str">"888"</span><span class="pun">);</span><span class="pln">
                mProduct__rate_2</span><span class="pun">.</span><span class="pln">setText</span><span class="pun">(</span><span class="str">"888"</span><span class="pun">);</span><span class="pln">
                mProduct__years_2</span><span class="pun">.</span><span class="pln">setText</span><span class="pun">(</span><span class="str">"888"</span><span class="pun">);</span><span class="pln">
                mProduct_mark_2</span><span class="pun">.</span><span class="pln">setText</span><span class="pun">(</span><span class="str">"888"</span><span class="pun">);</span><span class="pln">
                </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
  
            </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">case</span><span class="pln"> TYPE_3</span><span class="pun">:</span><span class="pln">
            convertView </span><span class="pun">=</span><span class="pln"> mLayoutInflater</span><span class="pun">.</span><span class="pln">inflate</span><span class="pun">(</span><span class="pln">R</span><span class="pun">.</span><span class="pln">layout</span><span class="pun">.</span><span class="pln">item_table_p</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">null</span><span class="pun">);</span><span class="pln">
            </span><span class="typ">TextView</span><span class="pln"> mProject_name_3 </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="typ">TextView</span><span class="pun">)</span><span class="pln"> convertView
                    </span><span class="pun">.</span><span class="pln">findViewById</span><span class="pun">(</span><span class="pln">R</span><span class="pun">.</span><span class="pln">id</span><span class="pun">.</span><span class="pln">project_name</span><span class="pun">);</span><span class="pln">
            </span><span class="typ">TextView</span><span class="pln"> mProject_invest_amount_3 </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="typ">TextView</span><span class="pun">)</span><span class="pln"> convertView
                    </span><span class="pun">.</span><span class="pln">findViewById</span><span class="pun">(</span><span class="pln">R</span><span class="pun">.</span><span class="pln">id</span><span class="pun">.</span><span class="pln">project_invest_amount</span><span class="pun">);</span><span class="pln">
            </span><span class="typ">TextView</span><span class="pln"> mProject_mark </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="typ">TextView</span><span class="pun">)</span><span class="pln"> convertView
                    </span><span class="pun">.</span><span class="pln">findViewById</span><span class="pun">(</span><span class="pln">R</span><span class="pun">.</span><span class="pln">id</span><span class="pun">.</span><span class="pln">project_mark</span><span class="pun">);</span><span class="pln">
              
            </span><span class="com">//这里是自定义一个子item的,当position==0时显示标题栏</span><span class="pln">
            </span><span class="kwd">switch</span><span class="pln"> </span><span class="pun">(</span><span class="pln">childPosition</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">case</span><span class="pln"> </span><span class="lit">0</span><span class="pun">:</span><span class="pln">
                mProject_name_3</span><span class="pun">.</span><span class="pln">setText</span><span class="pun">(</span><span class="pln">mProduct_what_items</span><span class="pun">[</span><span class="lit">2</span><span class="pun">][</span><span class="lit">0</span><span class="pun">]);</span><span class="pln">
                mProject_invest_amount_3</span><span class="pun">.</span><span class="pln">setText</span><span class="pun">(</span><span class="pln">mProduct_what_items</span><span class="pun">[</span><span class="lit">2</span><span class="pun">][</span><span class="lit">1</span><span class="pun">]);</span><span class="pln">
                mProject_mark</span><span class="pun">.</span><span class="pln">setText</span><span class="pun">(</span><span class="pln">mProduct_what_items</span><span class="pun">[</span><span class="lit">2</span><span class="pun">][</span><span class="lit">2</span><span class="pun">]);</span><span class="pln">
                </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
            </span><span class="kwd">default</span><span class="pun">:</span><span class="pln">
  
                mProject_name_3</span><span class="pun">.</span><span class="pln">setText</span><span class="pun">(</span><span class="str">"888"</span><span class="pun">);</span><span class="pln">
                mProject_invest_amount_3</span><span class="pun">.</span><span class="pln">setText</span><span class="pun">(</span><span class="str">"888"</span><span class="pun">);</span><span class="pln">
                mProject_mark</span><span class="pun">.</span><span class="pln">setText</span><span class="pun">(</span><span class="str">"888"</span><span class="pun">);</span><span class="pln">
                </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
  
            </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
  
        </span><span class="kwd">return</span><span class="pln"> convertView</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">
  
    </span><span class="lit">@Override</span><span class="pln">
    </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">int</span><span class="pln"> getChildrenCount</span><span class="pun">(</span><span class="kwd">int</span><span class="pln"> groupPosition</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">return</span><span class="pln"> </span><span class="lit">1</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">
  
    </span><span class="lit">@Override</span><span class="pln">
    </span><span class="kwd">public</span><span class="pln"> </span><span class="typ">Object</span><span class="pln"> getGroup</span><span class="pun">(</span><span class="kwd">int</span><span class="pln"> groupPosition</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">return</span><span class="pln"> </span><span class="kwd">null</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">
  
    </span><span class="lit">@Override</span><span class="pln">
    </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">int</span><span class="pln"> getGroupCount</span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">return</span><span class="pln"> mProduct_what</span><span class="pun">.</span><span class="pln">length</span><span class="pun">;</span><span class="pln">
        </span><span class="com">// return 0;</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">
  
    </span><span class="lit">@Override</span><span class="pln">
    </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">long</span><span class="pln"> getGroupId</span><span class="pun">(</span><span class="kwd">int</span><span class="pln"> groupPosition</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">return</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">
  
    </span><span class="lit">@Override</span><span class="pln">
    </span><span class="kwd">public</span><span class="pln"> </span><span class="typ">View</span><span class="pln"> getGroupView</span><span class="pun">(</span><span class="kwd">int</span><span class="pln"> groupPosition</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">boolean</span><span class="pln"> isExpanded</span><span class="pun">,</span><span class="pln">
            </span><span class="typ">View</span><span class="pln"> convertView</span><span class="pun">,</span><span class="pln"> </span><span class="typ">ViewGroup</span><span class="pln"> parent</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">int</span><span class="pln"> type </span><span class="pun">=</span><span class="pln"> getItemViewType</span><span class="pun">(</span><span class="pln">groupPosition</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">switch</span><span class="pln"> </span><span class="pun">(</span><span class="pln">type</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">case</span><span class="pln"> TYPE_1</span><span class="pun">:</span><span class="pln">
            convertView </span><span class="pun">=</span><span class="pln"> mLayoutInflater</span><span class="pun">.</span><span class="pln">inflate</span><span class="pun">(</span><span class="pln">R</span><span class="pun">.</span><span class="pln">layout</span><span class="pun">.</span><span class="pln">header_table</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">null</span><span class="pun">);</span><span class="pln">
            </span><span class="typ">TextView</span><span class="pln"> mProduct_what_1 </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="typ">TextView</span><span class="pun">)</span><span class="pln"> convertView
                    </span><span class="pun">.</span><span class="pln">findViewById</span><span class="pun">(</span><span class="pln">R</span><span class="pun">.</span><span class="pln">id</span><span class="pun">.</span><span class="pln">product_what_1</span><span class="pun">);</span><span class="pln">
  
            mProduct_what_1</span><span class="pun">.</span><span class="pln">setText</span><span class="pun">(</span><span class="pln">mProduct_what</span><span class="pun">[</span><span class="pln">groupPosition</span><span class="pun">]);</span><span class="pln">
  
            </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
  
        </span><span class="kwd">case</span><span class="pln"> TYPE_2</span><span class="pun">:</span><span class="pln">
            convertView </span><span class="pun">=</span><span class="pln"> mLayoutInflater
                    </span><span class="pun">.</span><span class="pln">inflate</span><span class="pun">(</span><span class="pln">R</span><span class="pun">.</span><span class="pln">layout</span><span class="pun">.</span><span class="pln">header_table_f</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">null</span><span class="pun">);</span><span class="pln">
            </span><span class="typ">TextView</span><span class="pln"> mProduct_what_2 </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="typ">TextView</span><span class="pun">)</span><span class="pln"> convertView
                    </span><span class="pun">.</span><span class="pln">findViewById</span><span class="pun">(</span><span class="pln">R</span><span class="pun">.</span><span class="pln">id</span><span class="pun">.</span><span class="pln">product_what_2</span><span class="pun">);</span><span class="pln">
  
            mProduct_what_2</span><span class="pun">.</span><span class="pln">setText</span><span class="pun">(</span><span class="pln">mProduct_what</span><span class="pun">[</span><span class="pln">groupPosition</span><span class="pun">]);</span><span class="pln">
  
            </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">case</span><span class="pln"> TYPE_3</span><span class="pun">:</span><span class="pln">
            convertView </span><span class="pun">=</span><span class="pln"> mLayoutInflater
                    </span><span class="pun">.</span><span class="pln">inflate</span><span class="pun">(</span><span class="pln">R</span><span class="pun">.</span><span class="pln">layout</span><span class="pun">.</span><span class="pln">header_table_p</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">null</span><span class="pun">);</span><span class="pln">
            </span><span class="typ">TextView</span><span class="pln"> mProject_what_3 </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="typ">TextView</span><span class="pun">)</span><span class="pln"> convertView
                    </span><span class="pun">.</span><span class="pln">findViewById</span><span class="pun">(</span><span class="pln">R</span><span class="pun">.</span><span class="pln">id</span><span class="pun">.</span><span class="pln">project_what_3</span><span class="pun">);</span><span class="pln">
  
            mProject_what_3</span><span class="pun">.</span><span class="pln">setText</span><span class="pun">(</span><span class="pln">mProduct_what</span><span class="pun">[</span><span class="pln">groupPosition</span><span class="pun">]);</span><span class="pln">
  
            </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        </span><span class="kwd">return</span><span class="pln"> convertView</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">
  
    </span><span class="lit">@Override</span><span class="pln">
    </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">boolean</span><span class="pln"> hasStableIds</span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">return</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">
  
    </span><span class="lit">@Override</span><span class="pln">
    </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">boolean</span><span class="pln"> isChildSelectable</span><span class="pun">(</span><span class="kwd">int</span><span class="pln"> groupPosition</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">int</span><span class="pln"> childPosition</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">return</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">
  
</span><span class="pun">}</span>
赞(0) 打赏
分享到: 更多 (0)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

登录

注册