java - 订阅按钮点击而不内联实现

标签 java android event-handling

public void onCreate(Bundle savedInstanceState) {
    ...
    btn_client_connect.setOnClickListener(new Button.OnClickListener() {
        public void onClick(View v) {
            // inline implementation goes here ...
        }
}

我想将内联实现移至单独的函数,保持 onCreate 函数简短易读:

    private void OnBtnConnectClick(View v) {
        // implementation...
    }

现在我需要使用以下内容订阅按钮点击:

btn_client_connect.setOnClickListener(this.OnBtnConnectClick);

但是这没有编译。我只有这个丑陋的解决方案:

btn_client_connect.setOnClickListener(new Button.OnClickListener() 
{
    public void onClick(View v) 
    {
        OnBtnConnectClick(v);
    }
});

有更好的方法吗?

最佳答案

protected void onCreate(Bundle bundle){
   btn = findview....
   btn.setOnClickListener(buttonClcikListener);
}



private View.OnClickListener buttonClcikListener = new View.OnClickListener() {

    @Override
    public void onClick(View v) {
        // your code here 
    }
};

关于java - 订阅按钮点击而不内联实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12660847/

相关文章:

java程序卡在while循环中

java - 为什么 maven-assembly-plugin 描述符说 <!-- TODO : a jarjar format would be better --> in its example site?

java - 窃取另一个应用程序 TreeView 的内容

java - IndexOf 两个 HashSet 字符串 - 共享首选项

java - 如何获取库的所有依赖项?

Delphi:如何在 TEdit/TMaskEdit 中设置文本而不调用 onchange 事件

javascript - 单击 div 内的链接触发 div 的 onclick

java - Spring Boot 应用程序端点返回 403

android - 尝试在空对象上调用虚拟方法boolean RecyclerView $ ViewHolder shouldIgnore()

java - 单击按钮时如何停止不断覆盖变量?