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

来源:互联网 发布:商城域名备案 编辑:程序博客网 时间:2024/05/16 17:39

做的项目中有一个功能是在当前的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);
button 2 = (Button)view.findViewById(R.id.button2);
button
2.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
System.out.println("invoked!");
Intent intent = new Intent(getApplicationContext(),PharmcyInfo03Activity.class);
startActivity(intent);

}
});

}



0 0
原创粉丝点击