android - 在Android的许多 View 上设置Onclick

标签 android onclick case

我的 Activity 上有一系列 ImageView。我想在触摸其中一个时执行一个方法。我有下一个:

  public void onClick(View v) {

          switch(v.getId()){

          case R.id.image1:
              mymethod(1,1,movimientos,(ImageView)v);
              break;
          case R.id.image2:
              ponerficha(1,2,movimientos,(ImageView)v);
              break;
          case R.id.image3:
...

但是方法没有执行,问题不在于方法,因为案例中的任何代码都不起作用。有什么想法吗?

最佳答案

首先你需要检查你是否已经为你的Images注册了onClickListener

image.setOnClickListener(this);

(如果你的类实现了 OnClickListener 接口(interface),你必须使用这个)

然后你如何声明和初始化你的 ImageViews,是否有自己的 id。

image = (ImageView) findViewById(R.id.someId)
anotherImage = (ImageView) findViewById(R.id.anotherId)
...

您可以像使用匿名类一样使用 onClickListeners

image.setOnClickListener(
   new View.OnClickListener() {
      public void onClick(View v) {
         // some actions
      }
});

但如果您有许多小部件要设置实现OnClickListener,则更加复杂和更好。

public class ClassName extends Activity implements View.OnClickListener {}

关于android - 在Android的许多 View 上设置Onclick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10973164/

相关文章:

java - 插入Room持久库后获取rowId

javascript - 使用javascript在div中通过标签选择元素

Javascript 图像 src 属性返回错误值

python - 在导入 Django 之前将值更改为小写

sql - 比较行并计算同一行的列

android - 动态更改选项卡文本标题

android - 在 Android 中单击后使标记可拖动

android - Gradle 构建(Android 项目)非常慢

javascript - css hover to onclick对话

sql - 具有单个结果的多个选项的 Postgres CASE 表达式