0

我以编程方式加载图像并设置 onclicklistener 但如果我单击图像则它不起作用。

ImageView ImgBook = new ImageView(this);
    ImgBook.setImageResource(R.drawable.one);       
    ImgBook.setClickable(true);

ImgBook.setOnClickListener(new OnClickListener() 
{
    public void onClick(View v) 
    {
        //exit code
    }
});

这个怎么做?

4

3 回答 3

0

您需要设置 View.onClick .... 所以替换此代码

    ImgBook.setOnClickListener(new OnClickListener() 
{

        public void onClick(View v) 
        {
            //exit code
        }
    });

与下面

 ImgBook.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                Log.d("TEST","in onclick");

            }
        });
于 2012-07-19T05:29:13.437 回答
0

首先弄清楚 imageView 是否注册为监听 onClick 事件。放一个 toast 或 Log.d 消息以查明控件是否将转到 onClick 方法。如果您仍有问题,请参阅以下链接。

要以编程方式设置 ImageView,请执行以下操作:

以编程方式将图像添加到 RelativeLayout

于 2012-07-19T05:26:06.110 回答
0

试试这个代码..

ImageView ImgBook = new ImageView(this); ImgBook.setImageResource(R.drawable.ic_launcher);

    LinearLayout lyt=new LinearLayout(this);
    LinearLayout.LayoutParams Params = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
    Params.setMargins(6, 0, 6, 0);

    lyt.addView(ImgBook);
    setContentView(lyt);

    ImgBook.setClickable(true);

    ImgBook.setOnClickListener(new OnClickListener() 
    {

        public void onClick(View v) 
        {

        }
    });
于 2012-07-19T05:49:16.037 回答