gpt4 book ai didi

Android 按钮 onclick 覆盖

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:52:36 25 4
gpt4 key购买 nike

我想创建一个 CustomButton,它有一个预定义的 onClick。事实上,我的对象会做同样的工作

CustomButton mButton = getViewById(..);
mButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
show_something()
}

有没有办法将 Listener 嵌入到继承自 Button 的 CustomButton 对象中?我想要的是在我的布局 XML 文件中创建一个 CustomButton,而不必在我的 Activity 中提及此按钮,这将提供:

主.xml:

<LinearLayout xmlns:"...">
<com.mypackage.view.CustomButton
(attributes)/>
</LinearLayout>

自定义按钮.java:

class CustomButton extends Button implements... {

@Override
OnClick (or something like that, that's the core of my question, what to put here)
}

我的 Activity .java

public class myActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}

非常感谢。

最佳答案

你们真的很亲密:

import android.content.Context;
import android.util.AttributeSet;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class CustomButton extends Button implements OnClickListener{

public CustomButton(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
init();
}

public CustomButton(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}

public CustomButton(Context context) {
super(context);
init();
}

private void init(){
setOnClickListener(this);
}

@Override
public void onClick(View v) {
// Do something
}

}

关于Android 按钮 onclick 覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8575959/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com