您好我正在开发一个应用程序在Android中,我使用的子类延伸BaseExpandableListAdapter
。现在我有问题要结合ImageView
和TextView
在显示的列表中。昨天我发现这个链接在stackoverflow,帮助我做出这种组合。将imageView和TextView结合在一个列表中
Overlay text over imageview in framelayout programmatically - Android
所以它工作正常! - 直到我点击一个listItem。应用程序chrash和logcat告诉我: "android.widget.RelativeLayout" cannot be cast to android.widget.ImageView.
这个例外是getGroupView()
,它延伸到BaseExpandableListAdapter
。为什么会发生? (RelativeLayout
延伸View
)。
我完全错误的方式,当我尝试返回RelativeLayout
而不是ImageView
?
下面是getGroupView
我的代码(我是一个有点乱,因为我在teststate):
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;
}
谢谢,我也在这个方向思考,但认为有可能做一个演员莫名其妙..也许是对象?但我现在通过使用LayoutInflater并将imageview和textview放入xml文件来解决此问题。 – 2013-05-10 11:42:59