我有一个自定义视图,一个按钮,但setOnClickListener()
不起作用。
class ButtonReadBarcode extends android.support.v7.widget.AppCompatButton {
public String ma_vach = "";
private Activity ac = null;
public ButtonReadBarcode(Context context) {
super(context);
ac = Global.getActivity( context);
init();
}
private void init(){
setVisibility(View.VISIBLE);
setLayoutParams( new LinearLayout.LayoutParams( LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT));
setText("Scan barcode ...");
setAllCaps(false);
}
@Override
public void setOnClickListener( View.OnClickListener l) {
super.setOnClickListener(l);
// this line does now work
setText("I want this text show when click");
}
}
没有任何错误消息
您正在重写setOnClickListener,它仅在您在其他地方调用时才有效,然后它将完成您通过参数传递的内容并按编写时的操作设置文本。
要覆盖按钮的基本单击,应覆盖onClick:
@Override
public void onClick(View v) {
setText("I want this text show when click");
}