Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/338.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
Java 创建一个动态onClick(),它实现View.OnClickListener_Java_Android_Imageview_Onclicklistener - Fatal编程技术网

Java 创建一个动态onClick(),它实现View.OnClickListener

Java 创建一个动态onClick(),它实现View.OnClickListener,java,android,imageview,onclicklistener,Java,Android,Imageview,Onclicklistener,目前我的代码是相当多的冗余代码,如下所示: iv_11.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { int theCard = Integer.parseInt((String) view.getTag()); doStuff(iv_11, theCard); }

目前我的代码是相当多的冗余代码,如下所示:

iv_11.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            int theCard = Integer.parseInt((String) view.getTag());
            doStuff(iv_11, theCard);
        }
    });

    iv_12.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            int theCard = Integer.parseInt((String) view.getTag());
            doStuff(iv_12, theCard);
        }
    });

    iv_13.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            int theCard = Integer.parseInt((String) view.getTag());
            doStuff(iv_13, theCard);
        }
    });

    iv_14.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            int theCard = Integer.parseInt((String) view.getTag());
            doStuff(iv_14, theCard);
        }
    });
因此,我决定实现View.OnClickListener以使其成为动态的,因此在我的类中,我实现了View.OnClickListener,然后用以下代码替换上述代码:

    iv_11.setOnClickListener(this);
    iv_12.setOnClickListener(this);
    iv_13.setOnClickListener(this);
    iv_14.setOnClickListener(this);
最后,我添加以下代码:

    public void onClick(View v) {
    int theCard = Integer.parseInt((String) v.getTag());
    doStuff(?, theCard);
}

问题是我应该在上面的问号中加什么?

将视图参数作为

doStuff(v, theCard);

doStuff方法应按以下代码调用

doStuff((ImageView)v, theCard);

这里的doStuff可能是dostufv,card;在输入“v”之后,我得到了这个错误:错误的第一个参数类型。发现:'android.view.view',必需:'android.widget.ImageView'与questionprivate void doStuffImageView iv共享您的doStuff方法,int card{…}@Steve您可以共享您的整个doStuff方法吗