我创建了自己的按钮
<merge xmlns:android="http://schemas.android.com/apk/res/android">
<ImageView
...></ImageView>
<ImageView
...></ImageView>
<TextView
...></TextView>
</merge>
她是我的Button的课程
public class StandardButton extends RelativeLayout implements OnClickListener{
...
private void init(Context context){
this.setClickable(true);
this.setEnabled(true);
this.setFocusable(true);
this.setFocusableInTouchMode(true);
LayoutInflater inflater = (LayoutInflater) context.getSystemService( Context.LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.standard_button, this);
}
@Override
public void onClick(View v) {
setLabel("Click");
}
onClick功能不起作用。但是如果我把Button放在我的Activity中,它会覆盖onClick函数。
在我的StandardButton类中单击Button时是否有触发函数的解决方案。这个班级应该知道它是否被点击,而不是活动!
答案 0 :(得分:7)
this.setOnClickListener(this);
<{1}}方法中的应该可以解决问题。
答案 1 :(得分:0)
this.setFocusableInTouchMode(true);
this.setFocusable(true);
你的onclick事件中的这两行出现错误将其删除并
PUT IT
this.setFocusable(false);
onclick将正常运作