社区
Android
帖子详情
Fragment中的Button响应事件处理
ferraborghini
2016-03-24 12:57:23
1、 Fragment实现了View.OnClickListener,重写了onClick方法,但是无响应。
2、在Fragment填充的布局文件中的Button设置onClick属性,在Fragment中不能实现。
3、但是在onCreateView中给Button添加监听事件,就可以做到相应。
...全文
538
4
打赏
收藏
Fragment中的Button响应事件处理
1、 Fragment实现了View.OnClickListener,重写了onClick方法,但是无响应。 2、在Fragment填充的布局文件中的Button设置onClick属性,在Fragment中不能实现。 3、但是在onCreateView中给Button添加监听事件,就可以做到相应。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
KingfarOu
2016-03-26
打赏
举报
回复
我印象中布局文件里的"onclick"属性只能指向活动里的方法,不能指向Fragment里的方法,所以如果想要响应点击事件,你必须在Fragment里面"findViewByID()"然后进行“setOnclickListener”
xiaomike618
2016-03-26
打赏
举报
回复
你在Fragment实现了onClickListener接口,你的Button也要设置监听器才行啊,比如:btn.setOnClickListener(this); this指的是Fragment实例对象。
xingzhong128
2016-03-24
打赏
举报
回复
这个是因为在xml中实现的android:onClick解析代码在View中: case R.styleable.View_onClick: if (context.isRestricted()) { throw new IllegalStateException("The android:onClick attribute cannot " + "be used within a restricted context"); } final String handlerName = a.getString(attr); if (handlerName != null) { setOnClickListener(new DeclaredOnClickListener(this, handlerName)); } break; 可以看到处理这个onClick属性时framework的默认实现是新建乐意个DeclaredOnClickListener的回调对象 private static class DeclaredOnClickListener implements OnClickListener { private final View mHostView; private final String mMethodName; private Method mMethod; public DeclaredOnClickListener(@NonNull View hostView, @NonNull String methodName) { mHostView = hostView; mMethodName = methodName; } @Override public void onClick(@NonNull View v) { if (mMethod == null) { mMethod = resolveMethod(mHostView.getContext(), mMethodName); } try {
mMethod.invoke(mHostView.getContext(), v);
} catch (IllegalAccessException e) { throw new IllegalStateException( "Could not execute non-public method for android:onClick", e); } catch (InvocationTargetException e) { throw new IllegalStateException( "Could not execute method for android:onClick", e); } } .......... // 其他代码 } 这个对象的onClick回调函数里使用反射实现的调用,反射的对象是getContext()也就是view所在的activity,所以如果你在actiivty的layout里定义了onclick属性的回调方法,并且在在activity里实现了方法,那么就可以响应。在fragment里定义的方法不会作为android:onClick属性的回调方法。
wei220000
2016-03-24
打赏
举报
回复
Fragment实现了View.OnClickListener,重写了onClick方法-----那你有给button绑定setonclicklistener吗? 在Fragment填充的布局文件中的Button设置onClick属性------那你有添加对应的click方法吗?
android
fragment
实现按钮切换
4. **管理
Fragment
事务**:在
Button
的点击事件回调
中
,我们需要使用
Fragment
Manager进行
Fragment
的添加、替换或隐藏操作。
Fragment
Manager提供了beginTransaction()方法来开始一个事务,然后通过add()、replace()或...
ListView
中
添加
Button
点击事件并改变状态
而在这个场景
中
,我们讨论的是如何在ListView的每一项
中
添加
Button
,并为这个
Button
设置点击事件,以便在用户点击时能
响应
并改变
Button
的状态。下面将详细阐述实现这一功能的关键步骤和涉及的技术点。 首先,我们...
使用
fragment
实现仿微信界面
总的来说,使用
Fragment
实现仿微信界面,需要对Android的UI设计、网络通信、数据存储、
事件处理
等方面有深入的理解。通过合理地组合和管理
Fragment
,我们可以创建出功能丰富、用户体验良好的移动应用。在imooc-...
Android
中
Fragment
Activity使用的基本步骤.pdf
在Android开发
中
,
Fragment
Activity是用于管理
Fragment
的Activity子类,它为开发者提供...通过静态或动态加载
Fragment
,开发者可以灵活地设计用户界面,并利用
Fragment
的生命周期和
事件处理
能力来实现丰富的交互功能。
Fragment
+PopupWindow完美实现了仿QQ空间底部菜单栏效果(源码+效果图)
每个
Button
代表一个菜单项,可以通过设置OnClickListener来
响应
用户的点击事件。 2. 在点击事件
中
,使用`PopupWindow`显示菜单选项。`PopupWindow`的设置包括:内容视图(可以是自定义布局)、宽高、动画效果等。...
Android
80,472
社区成员
91,385
社区内容
发帖
与我相关
我的任务
Android
移动平台 Android
复制链接
扫一扫
分享
社区描述
移动平台 Android
android
android-studio
androidx
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章