2

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

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

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

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

.

.

.

}

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

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

4

3 回答 3

3

拥有class这两个元素ImageButtontextView实现OnClickListener. OnClickListener是一个接口,它的方法onClick(View v)将为这两个元素实现点击。然后你可以使用imageButton.setOnClickListener(this)and 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
    }
}
}

希望这个解释有所帮助。

于 2012-06-25T06:52:58.110 回答
1
    ImageButton iv=(ImageButton)findViewById(R.id.imagebutton1);
    TextView tv=(TextView)findViewById(R.id.textview1);
    iv.setOnClickListener(OnClick);
    tv.setOnClickListener(OnClick);

OnCreate()方法中添加这个,然后添加这个方法,如下所示

   private OnClickListener OnClick=new OnClickListener(){
                    @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            switch(v.getId()){
                         case R.id.imagebutton1:{
                             // do here code what u want on imagebutton click
                                break;}
                         case R.id.textview1:{
                            // do here code what u want on textview click
                               break;}

                }
            }
        }

     };
于 2012-06-25T07:04:08.087 回答
0

将 imagebutton 和 textview 放在一个布局中并给它一个 ID。然后实现布局的onClickListener,这样你只需要编写一次代码。

于 2012-06-25T07:00:53.133 回答