Ced*_*ric 4 android android-fragments onclicklistener
我有一个 ImageButton,可以在我的 Activity 和 Fragment 中访问。我希望在这两个类中都执行操作,因此我为它们实现了一个 onClickListener。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity);
ImageButton imageButton = (ImageButton) findViewById(R.id.my_image_button);
imageButton.setOnClickListener(new OnClickListener() ...);
}
Run Code Online (Sandbox Code Playgroud)
以及此活动启动的片段的相同简单代码段(但在 onViewCreated 中)。
我试过了,只有 Fragment 的 onClickListener 被触发。
所以,这是我的问题,有没有办法让我的按钮同时触发 Activity 和 Fragment 的 onClickListener ?
我知道我可以从 Activity 的 onClick 调用 Fragment 的方法,但是在 Fragment 内部触发它会简单得多。
编辑 :
我不是愿意通过两个OnClickListener为此不惜任何代价,这是以防万一有比活动到碎片回调简单的方法(在我的情况)。
作为 ???说,第二个 onClickListener 会禁用第一个。在这种情况下,只剩下回调。
另外,稍微思考一下,它也会使代码更容易理解。回调,是的!
小智 5
View.setOnClickListener 只支持设置一个监听器。如果调用两次,后面的监听器会覆盖前面的监听器,只通知后面的监听器。因此,从 Activity 的 onClick 调用 Fragment 的方法似乎对您有好处。并且如果在Activity的布局中定义了ImageButton,那么只在Activity中处理比如通知别人,暴露一些方法也不错。
| 归档时间: |
|
| 查看次数: |
4109 次 |
| 最近记录: |