在我的应用程序中,我有一行显示要播放的音频文件的(ImageButton)icon(textView)title,我使用setonclicklistener作为imagebutton启动播放该文件的进程。我还想使用(textView)title作为一个可点击的项目来开始相同的过程。
我可以简单地在两个setonclicklisteners中复制所有功能,但这似乎不是最有效的方法。
现在我是新来的,还有这样一件事吗

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

.

.

.

}

基本上,如果单击imageButton或单击textView,则执行此过程。
我知道上面的语法不正确,但它让你知道我想做什么

最佳答案

让同时具有这些元素classImageButtontextView实现OnClickListenerOnClickListener是一个具有方法onClick(View v)的接口,该方法将对这两个元素都具有click实现。然后可以使用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/

10-09 01:27