我有一个活动A1,它有几个视图
和另一个ViewGenerator类,它有一个通过方法getView()
返回视图的方法我通过为A1创建一个对象并调用getView来调用此方法。 我的班级工作正常,我能够得到视图。但是,该视图的任何子项都不可点击,不会对该子项触发click事件。
这是A1的getView方法
public View getView(Main ctx) {
return getArticleView();
}
这里是getArticleView
private View getArticleView(Main ctx) {
LayoutInflater lft = (LayoutInflater) ctx
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
RelativeLayout lin = (RelativeLayout) lft.inflate(
R.layout.article_view, null);
RelativeLayout articleView = (RelativeLayout) lin
.findViewById(R.id.article_view);
summaryStuff(ctx);
return articleView;
}
这里是summaryStuff
private void sharingStuff(final Main ctx) {
LayoutInflater lft = (LayoutInflater) ctx
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
RelativeLayout lin = (RelativeLayout) lft.inflate(R.layout.summary_bar,
null);
bookmarkRibbon = (ImageView) lin.findViewById(R.id.bookmark_selector);
bookmarkRibbon.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
bookmarkRibbon.setImageResource(R.drawable.bookmark_yellow);
}
});
}
你可以看到bookmarkRibbon有一个监听器。但它不可点击或至少事件未被触发
从Activity的onCreate方法
调用View答案 0 :(得分:0)
ImageView,默认情况下不可点击,i:e无法注册点击事件。
确保将图像视图设置为可点击
bookmarkRibbon.setClickable(true);
在引用它之后。