嗨,我正在 android 中开发一个应用程序,我使用扩展的子类BaseExpandableListAdapter
。现在我有问题要组合ImageView
并TextView
在显示的列表中。昨天我在 stackoverflow 上找到了这个链接,它帮助我进行了这种组合。
以编程方式在 framelayout 中的 imageview 上覆盖文本 - Android
所以它工作正常!- 直到我点击一个listItem。应用程序 chrash 和 logcat 告诉我
"android.widget.RelativeLayout" cannot be cast to android.widget.ImageView.
这个异常出现 getGroupView()
在扩展类中BaseExpandableListAdapter
。为什么会这样?(RelativeLayout
扩展View
)。
当我尝试返回 aRelativeLayout
而不是a 时,我是否完全走错了路ImageView
?
这是我的代码getGroupView
(我有点乱,因为我处于测试状态):
public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {
ImageView row = (ImageView) convertView;
RelativeLayout rLayout = new RelativeLayout(mContext);
LayoutParams rlParams = new LayoutParams(LayoutParams.FILL_PARENT
,LayoutParams.FILL_PARENT);
rLayout.setLayoutParams(rlParams);
if(row == null) {
row = new ImageView(mContext);
}
row.setImageResource(R.drawable.ic_launcher);
row.setScaleType(ImageView.ScaleType.FIT_START);
RelativeLayout.LayoutParams tParams = new RelativeLayout.LayoutParams
(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
tParams.addRule(RelativeLayout.CENTER_HORIZONTAL, RelativeLayout.TRUE);
tParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, RelativeLayout.TRUE);
TextView text=new TextView(mContext);
text.setText("GOLDEN Gate");
text.setTextColor(Color.WHITE);
text.setTypeface(Typeface.DEFAULT_BOLD);
text.setLayoutParams(tParams);
rLayout.addView(row);
rLayout.addView(text);
return rLayout;
}