我想制作一个广告横幅。
现在我有一个显示网络图像的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
中。
谢谢!
答案 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.
}
}