我终于让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
?