android - 单个进程的多个 setOnClickListener

标签 android

在我的应用程序中,我有一行显示要播放的音频文件的 (ImageButton)icon(textView)title ,我对 ImageButton 使用 setOnClickListener启动播放文件的进程。我还想使用 (textView)title 作为可点击项目来开始相同的过程。

我可以简单地复制两个 setOnClickListener 中的所有功能,但这似乎不是最有效的方法。

现在我是新人,所以有这样的事情吗

ImageButton.setOnClickListener() ||  textView.setOnClickListener() {

.

.

.

}

基本上,如果单击 ImageButton 或单击 textView,则执行此过程。

我知道上面的语法不正确,但它让您了解我想要做什么

最佳答案

让同时具有这些元素 ImageButtontextViewclass 实现 OnClickListenerOnClickListener 是一个具有方法 onClick(View v) 的接口(interface),该方法将为这两个元素提供点击实现。然后您可以使用imageButton.setOnClickListener(this)textView.setOnClickListener(this)

示例代码:

public MyClass extends Activity implements  OnClickListener {

ImageButton imageButton;
TextView textView;

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    imageButton = (ImageButton) findViewById(R.id.btn);
    textView = (TextView) findViewById(R.id.txt);

    imageButton.setOnClickListener(this);
    textView.setOnClickListener(this);
    }

@Override
public void onClick(View v) {
    // TODO Auto-generated method stub
    int viewId = v.getId() ;
    if(viewId == R.id.btn || viewId == R.id.txt){
        //common implementation of click event
    }
}
}

希望这个解释有帮助。

关于android - 单个进程的多个 setOnClickListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11184588/

相关文章:

java - 修改 XML 后尝试运行 Android Cannot Resolve R

android - 文件夹 ~/.Genymobile/Genymotion/在 Ubuntu 中部署在哪里

android - 有没有办法为 Jetpack Compose Image 执行矩阵缩放?

java - 创建子 Fragment 后从 Activity 获取子 Fragment

java.lang.OutOfMemoryError : bitmap size exceeds VM budget - Android JAVA 错误

java - 使用 Jsoup.connect() 时会发生什么?为什么这么慢?

java - 在 Android 中修改外部库的最佳实践是什么?

android - ListView 和 onItemClick 创建透明 fragment

java - 在 Android MapView 上的两个 GeoPoints 之间绘制路线时出错?

java - Android Gradle 应用程序 :DexDebug error Parse. com