您的位置:首页 > 移动开发 > Android开发

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

2014-01-20 11:09 489 查看
做的项目中有一个功能是在当前的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);
button2.setOnClickListener(new OnClickListener() {

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

}
});

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: