2012-06-14 162 views
0

我想製作廣告條。
現在我有一個imagebutton顯示來自網絡的圖像。事情是,我不能讓它點擊。如何使圖像按鈕可點擊?

我應該在哪裏放置onclick方法?

代碼到目前爲止,我曾嘗試:

public class ProjectActivity extends Activity { 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    BannerActivity ba = new BannerActivity(this); 

    LinearLayout layout = (LinearLayout)findViewById(R.id.main_layout); 
    layout.addView(ba); 
} 

和多數民衆贊成我的旗幟:

public class BannerActivity extends ImageButton{ 
    public BannerActivity(Context context) { 
     super(context); 
     setLayoutParams(new LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, 300)); 

     URL url = null; 
     try { 
      url = new URL("http://3.bp.blogspot.com/_9UYLMDqrnnE/S4UgSrTt8LI/AAAAAAAADxI/drlWsmQ8HW0/s400/sachin_tendulkar_double_century.jpg"); 
     } catch (MalformedURLException e) { 
      e.printStackTrace(); 
     } 
     InputStream content = null; 
     try { 
      content = (InputStream)url.getContent(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
     Drawable d = Drawable.createFromStream(content , "src"); 
     setBackgroundDrawable(d); 
    } 
} 
} 

,你可以明白了,BannerActivity類是旗幟,該項目將增加它作爲一個jar文件。

我不想將onclick方法放在「項目」類中,它應該在開發人員需要添加到他的項目中的BannerActivity的某處。 謝謝!

回答

1
public class BannerActivity extends ImageButton implements OnClickListener{ 
    public void BannerActivity(Context context){ 
     super(context) 

     //(...) 

     setOnClickListener(this); 
    } 

    @Override 
    public void onClick(View v){ 
     //Do your stuff. 
    } 
} 
+0

midoalageb正確回答,但這個答案更加acurate。 – roiberg

1

您需要重寫BannerActivity中的onClick()方法以執行所需的操作。

+0

我試過了,它不工作。 – roiberg

+0

是的,它的工作原理!我忘了添加「setonclicklistener(this)」 – roiberg