setOnClickListener()在我的自定义视图中不起作用

问题描述 投票:0回答:1

我有一个自定义视图,一个按钮,但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");
    }

}

没有任何错误消息

android onclicklistener android-custom-view
1个回答
0
投票

您正在重写setOnClickListener,它仅在您在其他地方调用时才有效,然后它将完成您通过参数传递的内容并按编写时的操作设置文本。

要覆盖按钮的基本单击,应覆盖onClick:

@Override
public void onClick(View v) {
     setText("I want this text show when click");
}
© www.soinside.com 2019 - 2024. All rights reserved.