Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 单个进程的多个SetOnClickListener_Android - Fatal编程技术网

Android 单个进程的多个SetOnClickListener

Android 单个进程的多个SetOnClickListener,android,Android,在我的应用程序中,我有一行显示要播放的音频文件的(ImageButton)图标和(textView)标题,我使用图像按钮的setOnClickListener启动播放该文件的过程。我还想使用(textView)标题作为一个可点击的项目来开始相同的过程 我可以简单地复制两个setOnClickListeners中的所有功能,但这似乎不是最有效的方法 现在我是新来的,那么有没有 ImageButton.setOnClickListener() || textView.setOnClickListe

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

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

现在我是新来的,那么有没有

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

.

.

.

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


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

同时包含这两个元素
ImageButton
textView
实现
OnClickListener
OnClickListener
是一个具有方法
onClick(视图v)
的接口,该方法将为这两个元素提供单击实现。然后可以使用
imageButton.setOnClickListener(此)
textView.setOnClickListener(此)

示例代码:

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
    }
}
}

希望这个解释有帮助。

同时包含这些元素
ImageButton
textView
实现
OnClickListener
OnClickListener
是一个具有方法
onClick(视图v)
的接口,该方法将为这两个元素提供单击实现。然后可以使用
imageButton.setOnClickListener(此)
textView.setOnClickListener(此)

示例代码:

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
    }
}
}

希望这个解释能有所帮助。

将imagebutton和textview放在一个版面中,并给它一个ID。然后为版面实现onClickListener,这样您只需编写一次代码。

将imagebutton和textview放在版面中并给它一个ID。然后为版面实现onClickListener,通过这种方式,您只需要编写一次代码

    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;}

                }
            }
        }

     };
将此添加到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;}

                }
            }
        }

     };

谢谢你,我正在尝试实现这一点,但有一些问题。我有一个linerlayout,里面有一个图像按钮和一个文本视图。我已经为图像按钮创建了onclicklistener,但需要将其移动到linerlayout,以便它也包含textview。但是,当我尝试在XML文件中添加标准@+id/Audio1时,它似乎会显示在FindV中。然而,当我尝试在XML文件中添加标准@+id/Audio1时,它似乎不会显示在findViewByid(R.id.Audio1)中当我手动输入时,我得到了一个关于在id中创建字段或常量Audio1的快速修复,但两者似乎都不起作用,也没有达到我的期望。我也尝试过添加和ids.xml,并以这种方式添加新id,但事情很快就被破坏了,我失去了r.java,留下了太多错误,我无法回头,我不得不重新开始。我错过了什么?谢谢你,我正试图实现这一点,但遇到了一些问题。我有一个linerlayout,里面有一个图像按钮和一个文本视图。我已经为图像按钮创建了onclicklistener,但需要将其移动到linerlayout,以便它也包含textview。但是,当我尝试在XML文件中添加标准@+id/Audio1时,它似乎会显示在FindV中。然而,当我尝试在XML文件中添加标准@+id/Audio1时,它似乎不会显示在findViewByid(R.id.Audio1)中当我手动输入时,我得到了一个关于在id中创建字段或常量Audio1的快速修复,但两者似乎都不起作用,也没有达到我的期望。我也尝试过添加和ids.xml,并以这种方式添加新id,但事情很快就被破坏了,我失去了r.java,留下了太多错误,我无法回头,我不得不重新开始。我错过了什么