在我的应用程序中,我有一行显示要播放的音频文件的 (ImageButton)icon
和 (textView)title
,我对 ImageButton 使用 setOnClickListener启动播放文件的进程。我还想使用 (textView)title
作为可点击项目来开始相同的过程。
我可以简单地复制两个 setOnClickListener 中的所有功能,但这似乎不是最有效的方法。
现在我是新人,所以有这样的事情吗
ImageButton.setOnClickListener() || textView.setOnClickListener() {
.
.
.
}
基本上,如果单击 ImageButton 或单击 textView,则执行此过程。
我知道上面的语法不正确,但它让您了解我想要做什么
最佳答案
让同时具有这些元素 ImageButton
和 textView
的 class
实现 OnClickListener
。 OnClickListener
是一个具有方法 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/