在创建 cutomView 时不添加视图?
Posted
技术标签:
【中文标题】在创建 cutomView 时不添加视图?【英文标题】:while creating a cutomView doesn't addView? 【发布时间】:2012-06-29 09:50:41 【问题描述】:我需要创建一个自定义视图,它扩展了RelativeLayout,并且只需要拥有和imageView 一样大小的这个customView。
我的代码是:
public class MyCustomButton extends RelativeLayout
ImageView buttonCoverImage;
public MyCustomButton(Context context, AttributeSet attrs, int defStyle)
super(context, attrs, defStyle);
public MyCustomButton(Context context, AttributeSet attrs)
super(context, attrs);
public MyCustomButton(Context context)
super(context);
setClickable(true);
setFocusable(true);
setEnabled(true);
buttonCoverImage = new ImageView(getContext());
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
setLayoutParams(lp);
lp.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
lp.addRule(RelativeLayout.ALIGN_PARENT_TOP);
lp.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
lp.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
buttonCoverImage.setLayoutParams(new RelativeLayout.LayoutParams(100, 100));
buttonCoverImage.setBackgroundResource(R.drawable.button_selector);
buttonCoverImage.setOnClickListener(new View.OnClickListener()
public void onClick(View arg0)
performClick();
);
this.addView(buttonCoverImage);
在 xml 中,我创建了这样的视图:
问题是我看不到 buttonCoverImage?不知何故,它没有被创建或添加到 myCustomView... 可能是什么问题?
【问题讨论】:
【参考方案1】:如果通过xml添加View,那么android会实现构造函数
public MyCustomButton(Context context, AttributeSet attrs)
super(context, attrs);
在你的情况下它是空的。我认为这是你的问题。
【讨论】:
只需在这个构造函数中使用 LogCat。如果我是对的,您将看到您的日志文本。希望我是对的) 是的,你绝对是对的 =) 再次感谢。问题解决了 =)以上是关于在创建 cutomView 时不添加视图?的主要内容,如果未能解决你的问题,请参考以下文章
在垂直列表视图中添加水平列表视图时不正确使用 ParentDataWidget
swift 3.0 转换添加到视图字典时不明确使用 tableView