如何使图像按钮可点击?

时间:2012-06-14 09:06:55

标签: android onclick imagebutton

我想制作一个广告横幅。
现在我有一个显示网络图像的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方法放在“project”类中,它应该位于开发人员需要添加到项目中的BannerActivity中。 谢谢!

2 个答案:

答案 0 :(得分:1)

您需要覆盖BannerActivity中的onClick()方法,以执行所需的操作。

答案 1 :(得分: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.
    }
}