2012-07-19 57 views
0

我以編程方式加載圖像並設置了onclicklistener,但如果點擊圖像則無法使用。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 
    } 
}); 

如何做到這一點?

+1

什麼是退出代碼? – Eric 2012-07-19 05:24:18

+5

請先嚐試敬酒信息。 – Nikhil 2012-07-19 05:25:09

+0

one.this.finish();其中一個是班級名稱,,我嘗試敬酒,但它不工作 – 2012-07-19 05:26:31

回答

0

首先找出是否註冊了imageView以偵聽onClick事件。放置Toast或Log.d消息以確定控件是否轉到onClick方法。如果您仍然有問題,請參閱下面的鏈接。

以編程設置ImageView的,按照此:

Adding image programmatically to RelativeLayout

+0

好吧,我知道了,現在它的工作很好,謝謝所有 – 2012-07-19 05:29:34

+0

如果我的回答對你有幫助,請接受是正確的。 :) – pixelscreen 2012-07-19 05:31:02

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"); 

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

     } 
    });