相关疑难解决方法(0)

通过覆盖onclick创建自定义控件

我正在开发一个Android应用程序,我有一个自定义GUI组件,它扩展了TextView.

我想让我的自定义控件在我的自定义控件类和我的重写onclick方法中单击时执行任务.

例如,扩展TextView的类实现了OnClick侦听器并将日志写入日志cat.

然后在我的活动中,我为我的自定义控件设置了一个onclick监听器,这显示了一个Toast通知.

我想要发生的是,当我点击我的自定义控件时,我的活动被覆盖onclick显示toast,并且click方法上的自定义控件类也会运行以显示日志.但我似乎只能得到一个工作或其他,例如,如果我不运行myCustom.setOnClickListener(myListener)然后使用类onclick并执行日志,如果我设置onClick监听器然后我只得到吐司不是日志.

下面是我的自定义控件类

public class NavTextView extends TextView implements View.OnClickListener
{
    public NavTextView(Context context) {
        super(context);
        setOnClickListener(this);
    }

    public NavTextView(Context context, AttributeSet attrs) {
        super(context, attrs);
        setOnClickListener(this);
    }

    public NavTextView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        setOnClickListener(this);
    }

    public NavTextView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
        super(context, attrs, defStyleAttr, defStyleRes);
        setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        Log.d("NavTextView", "This has been clicked");
    }
}
Run Code Online (Sandbox Code Playgroud)

以下是我对onCreate方法的活动

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState); …
Run Code Online (Sandbox Code Playgroud)

android onclick

2
推荐指数
1
解决办法
1818
查看次数

标签 统计

android ×1

onclick ×1