ndroid动态创建按钮并添加事件
public class MyActivity extends Activity { /** * Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //setContentView(R.layout.main); final LinearLayout layout2 = new LinearLayout(this); layout2.setOrientation(LinearLayout.VERTICAL); Button bt1 = new Button(this); setContentView(layout2); Button bt2 = new Button(this); bt1.setText("按钮1"); bt2.setText("按钮2"); layout2.addView(bt1); layout2.addView(bt2); setContentView(layout2); Button.OnClickListener listen=new Button.OnClickListener() { public void onClick(View vObj) { //Button butObj=(Button)vObj; //Toast.makeText((Activity)butObj.getContext() , "点击了["+butObj.getText()+"]", Toast.LENGTH_SHORT).show(); NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); PendingIntent pendingIntent2 = PendingIntent.getActivity(vObj.getContext(), 0, new Intent(vObj.getContext(), MyActivity.class), 0); // 通过Notification.Builder来创建通知,注意API Level // API11之后才支持 Notification notify2 = new Notification.Builder(vObj.getContext()) .setSmallIcon(R.drawable.ic_launcher) // 设置状态栏中的小图片,尺寸一般建议在24×24,这个图片同样也是在下拉状态栏中所显示,如果在那里需要更换更大的图片,可以使用setLargeIcon(Bitmap // icon) .setTicker("请做好准备,明天查水表 :)")// 设置在status // bar上显示的提示文字 .setContentTitle("友情提醒")// 设置在下拉status // bar后Activity,本例子中的NotififyMessage的TextView中显示的标题 .setContentText("请做好准备,明天查水表 :)")// TextView中显示的详细内容 .setContentIntent(pendingIntent2) // 关联PendingIntent .setNumber(1) // 在TextView的右方显示的数字,可放大图片看,在最右侧。这个number同时也起到一个序列号的左右,如果多个触发多个通知(同一ID),可以指定显示哪一个。 .getNotification(); // 需要注意build()是在API level // 16及之后增加的,在API11中可以使用getNotificatin()来代替 notify2.flags |= Notification.FLAG_AUTO_CANCEL; manager.notify(1, notify2); } }; bt1.setOnClickListener(listen); bt2.setOnClickListener(listen); } }