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位于开发人员需要添加到他的项目中的某个地方。谢谢!

4

2 回答 2

1

您需要重写onClick()BannerActivity 中的方法来执行您想要的操作。

于 2012-06-14T09:14:58.283 回答
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.
    }
}
于 2012-06-14T09:26:07.510 回答