如何在ExpandableListView childView的两个不同布局之间切换?

时间:2017-11-22 07:32:48

标签: android onclicklistener expandablelistview android-adapter

我终于让ExpandableListView工作了(感谢SO),但现在我希望每当我(短)点击一个子项目时,就可以在两个不同的childView之间切换。

我有setOnChildClickListener的这个代码段,目前位于onCreate部分。我假设我必须将其移到BaseExpandableListAdapter内以便能够切换childView的布局(或者我可以在onCreate内执行此操作吗?)

也许图片可以说明最好:如果我点击'PPLT'孩子,我希望它扩展到约。双倍高度和更多信息(根据不同的子xml布局文件)

 expListView = (ExpandableListView) findViewById(R.id.StockExpandList);

 expListAdapter = new ExpandableListAdapter(PortfolioView.this, SubcategoryList, subgroupCollection);
 expListView.setAdapter(expListAdapter);

 expListView.setOnChildClickListener(new ExpandableListView.OnChildClickListener() {

     public boolean onChildClick(ExpandableListView parent, 
        View v,int groupPosition, int childPosition, long id) {

          final String selected = (String) expListAdapter.getChild(groupPosition, childPosition);

          Toast.makeText(getBaseContext(), selected, Toast.LENGTH_SHORT).show();

          return true;
     }
});

我可能会对基本列表视图适配器的工作方式表示无知,但我认为这是我添加一个条件,决定是否使用默认的child_item布局,或者我点击时要显示的另一个布局它(例如称为child_expanded_item,因为它应该更大,其中包含更多信息)

public View getChildView(final int groupPosition, final int    
       childPosition,boolean isLastChild,View childView, ViewGroup parent) 
{
   LayoutInflater inflater = context.getLayoutInflater();

   if (childView == null) {
       childView = inflater.inflate(R.layout.child_item, null);
   }
}

或者我是否疯狂并进行嵌套ExpandableListView

enter image description here

0 个答案:

没有答案