我有一个具有三个级别的 ExpandableListView。在第一级的适配器中,我有呈现 TextView 的 getGroupView,它工作正常。
@Override
public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {
TextView tv = new TextView(context);
tv.setText(mCountries.get(groupPosition).getName());
tv.setBackgroundColor(Color.BLUE);
tv.setPadding(10, 7, 7, 7);
return tv;
}
但现在我想把它提升到一个新的水平.. 只是膨胀一个 XML 并且不仅仅是一个 TextView,还有一个 Button;尽管如此,它还是不起作用,因为当我单击一行时它不会展开。这是改编的方法,当然,在构造函数中,我初始化了inflater:
@Override
public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {
View v = mInflater.inflate(R.layout.countries_row, null, false);
mCountryName = (TextView) v.findViewById(R.id.CountryTextView);
mCountryName.setText(mCountries.get(groupPosition).getName());
mCountryName.setBackgroundColor(Color.BLUE);
mCountryName.setPadding(10, 7, 7, 7);
mCountryExpandButton = (Button) v.findViewById(R.id.CountryExpandButton);
return v;
}
mInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
任何人都可以请说明为什么它不起作用,以及如何解决它?这真的很奇怪,因为它只是将 TextView 更改为 View ..
提前非常感谢!