Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.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 以编程方式将onClick添加到imageview_Android_Onclick_Imageview - Fatal编程技术网

Android 以编程方式将onClick添加到imageview

Android 以编程方式将onClick添加到imageview,android,onclick,imageview,Android,Onclick,Imageview,在XML中,我有了android:onClick=“deleteRow”,它工作得很好,但现在我需要以编程方式添加此方法。以下是代码: XML: 以编程方式添加imageView // Set params for new deleteimage TableRow.LayoutParams imgParams = new TableRow.LayoutParams(0, 50, 1); ImageView deleteAns = new ImageView(this); deleteAns.s

在XML中,我有了android:onClick=“deleteRow”,它工作得很好,但现在我需要以编程方式添加此方法。以下是代码:

XML:

以编程方式添加imageView

// Set params for new deleteimage
TableRow.LayoutParams imgParams = new TableRow.LayoutParams(0, 50, 1);

ImageView deleteAns = new ImageView(this);
deleteAns.setImageResource(R.drawable.delete);
tr.addView(deleteAns, imgParams);

试试
setOnClickListener
maybe?请不要在帖子中添加答案。要么接受帮助你的答案,要么创造你自己的答案。
public void deleteRow(View v){
    // get row that is parent of clicked img
    View row = (View) v.getParent();
    // get rows container
    ViewGroup container = ((ViewGroup)row.getParent());
    // delete the row and invalidate view so it gets redrawn
    container.removeView(row);
    container.invalidate();
}
// Set params for new deleteimage
TableRow.LayoutParams imgParams = new TableRow.LayoutParams(0, 50, 1);

ImageView deleteAns = new ImageView(this);
deleteAns.setImageResource(R.drawable.delete);
tr.addView(deleteAns, imgParams);
imageView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // your code
            }
        });
    deleteAns.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
               deleteRow(view);
                    }});