android布局的监听事件,[Android]调用另一个布局xml文件里面的button,并绑定OnClickListener监听器...

做的项目中有一个功能是在当前的Activity生成一个view,然后点击view上的button,跳转到另外一个Activity,中间碰到了一些问题,现在归纳总结一下:

1.如何正确获取另一个Xml布局文件中的控件?

一般我们都会用findViewById来获取,但是该方法只能获取setContentView(R.layout.main)中参数main.xml上的控件,如果想获取另外一个xml文件上的控件,使用findViewById方法会报错。

我们可以用以下的方法来获取另一个XML(本文中是popup_window.xml)上的控件:

View view = View.inflate(getApplicationContext(), R.layout.popup_window null);

button = (Button)view.findViewById(R.id.button);

2.如何使得该button能触发OnClick定义的操作(本文中转到另一个Activtiy)

获得button以后,绑定上OnClickListener监听器,但是点击没有任何反应,此处困扰了我好久,后来终于发现原因所在:

setOnClickListener的操作不能放在OnCreate里面,一定要和创建该button所在的view的语句在一起:

button1setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

View view = View.inflate(getApplicationContext(), R.layout.popup_nevigation, null);

mpopupWindow = new PopupWindow(nevigationView);

mpopupWindow.setWidth(LayoutParams.MATCH_PARENT);

button2= (Button)view.findViewById(R.id.button2);button2.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { System.out.println("invoked!"); Intent intent = new Intent(getApplicationContext(),PharmcyInfo03Activity.class); startActivity(intent); } }); }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值