繁体   English   中英

我可以从侦听器内部引用 OnClickListener 的按钮吗? (安卓)

[英]Can I reference an OnClickListener's button from inside the listener? (android)

我有一个 android 程序,我有多个按钮使用相同的 OnClickListener,我希望能够从侦听器内部引用按钮的动态分配文本。 有没有办法引用被按下以获取其文本的按钮? 我不想让多个特定于按钮的侦听器做同样的事情。

在您的 onClick(View v) 中,您可以将其转换为按钮:

@Override
public void onClick(View v) {
  Button clickedButton = (Button)v;
  // do stuff with it here.
}

使用作为onClick(View v)参数的 View

这可以转换为按钮并使用。

onClick 的参数是发起单击的视图,它将是您附加侦听器的按钮。 将其投射到 Button 以获取按钮 object。

是的,应该有办法。

public abstract void onClick (View v)

您会注意到被单击的视图被传递到 onClick() 方法中。 因此,如果您有对可用视图(按钮)的引用(例如,作为 Activity 中的实例变量),那么您可以这样做:

public abstract void onClick (View v) {
    if (v == firstButton) {
        //Do some stuff
    }
    else if (v == secondButton) {
        //Do some other stuff
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM