如何在片段中使用xml onclick处理按钮单击前蜂窝(Android 3),每个活动都通过onClick布局的XML中的标记:android:onClick="myClickMethod"在该方法中,您可以使用view.getId()和一个开关语句来执行按钮逻辑。随着蜂巢的引入,我把这些活动分解成碎片,可以在许多不同的活动中重复使用。按钮的大部分行为与活动无关,我希望代码驻留在片段文件中。无使用旧的(预1.6)方法注册OnClickListener每个按钮。final Button button = (Button) findViewById(R.id.button_id);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Perform action on click
}
});问题是,当我的布局被膨胀时,接收按钮点击的仍然是托管活动,而不是单个的片段。有什么好办法注册片段以接收按钮单击?将单击事件从活动传递到它们所属的片段?
3 回答
一只斗牛犬
TA贡献1784条经验 获得超2个赞
Fragment someFragment; //...onCreate etc instantiating your fragmentspublic void myClickMethod(View v) { someFragment.myClickMethod(v);}
public void myClickMethod(View v) { switch(v.getId()) { // Just like you were doing }}
public interface XmlClickable { void myClickMethod(View v);}
XmlClickable someFragment; //...onCreate, etc. instantiating your fragments casting to your interface.
public void myClickMethod(View v) { someFragment.myClickMethod(v);}
public class SomeFragment implements XmlClickable {//...onCreateView, etc.@Overridepublic void myClickMethod(View v) { switch(v.getId()){ // Just like you were doing }}
- 3 回答
- 0 关注
- 736 浏览
添加回答
举报
0/150
提交
取消