`
ictch
  • 浏览: 135356 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

setContentview后,单击事件不可用的解决方法

XML 
阅读更多

     今天做一个小程序时,中间界面的切换全部用了setContentview(int  id) 这个方法来实现。 然后,当我的有个需求就是需要点击返回按钮,返回到上层菜单时,发现setContentview之后,所有Button的监听器似乎都失灵了。

查了一些资料,发现自己对于setContentview这个方法自己没有理解好, 原来一直都是使用这个setContentview(int  id) 来切换界面,但是这一次我的Activy生成之后, 如果仅仅setContentview(int  id),那么View需要重新绘制,上面的Button也就不存在了原来注册的监听器。 熟悉setContentview这个方法的朋友都知道,这个方法还有一个重载方法
setContentview(View  v),传递view参数,就可以实现界面切换时, 同时重绘了VIEW

具体实现:
  LayoutInflater inflater = getLayoutInflater();
 View layout = inflater.inflate(R.layout.myxml,null);
上篇博客中提到了这个LayoutInflater ,这个类简单来说是查找layout文件夹下面的xml文件,功能类似的有findViewByid(查找xml文件里的控件),然后通过第二句代码生成一个View对象
接着,我们就可以setContentview(layout )来实现切换界面了,这样一来,我们那个layout 里面的控件的单击事件就还是可以使用啦。

分享到:
评论

相关推荐

    Android OnClickListener按钮单击事件监听器用法范例.rar

    按钮单击事件一例,Android环境下,单击按钮后,改变 按钮背景颜色,通过这个功能来练习单击事件的监听器用法:  super.onCreate(savedInstanceState);  setContentView(R.layout.main);//设置当前屏幕  Button ...

    Activity使用setContentView切换界面

    `setContentView`方法是`Activity`中用于加载布局文件到当前`Activity`的主要方法,使得我们能够在应用中展示不同的界面。现在,我们将深入探讨如何使用`setContentView`来切换界面以及其背后的原理。 ### 1. `...

    setContentView学习例子

    在Android应用开发中,`setContentView`是一个至关重要的方法,它是连接XML布局文件与Java代码的关键,用于在Activity中加载用户界面。当我们谈论"界面切换"时,这通常涉及到在不同视图或屏幕之间平滑地过渡。在这个...

    Android中为自定义视图添加单击事件的代码清单.pdf

    自定义视图添加单击事件的关键在于`onTouchEvent()`方法。这个方法接收一个`MotionEvent`参数,该参数包含了关于用户触摸屏幕的各种信息。通过检查`MotionEvent`的`action`属性,我们可以判断用户是否进行了触摸操作...

    android切换页面实例setContentView+layoutinflate完美切换页面

    setContentView最大限度的提高切换页面的速度,一定要和LayoutInflate配合使用,解决切换后监听无效,要多次findViewById多次绑定监听的问题。这是我自己写的一个小例子,详解参见:...

    浅析Android Dialog中setContentView()方法

    "浅析Android Dialog中setContentView()方法" 通过对Android Dialog中setContentView()方法的分析,可以了解到该方法的实现原理和使用方式。setContentView()方法是Dialog中自定义内容布局的重要方法,它提供了三个...

    三种Android单击事件onclick的实现方法

    本文将详细讲解三种实现Android单击事件onclick的方法。 首先,第一种方法是在XML布局文件中直接指定onclick事件。这种方法适用于简单场景,如单一按钮的点击处理。在XML布局文件中,你可以为Button或其他可点击的...

    Android onClick按钮单击事件的四种常用写法

    我们可以使用四种不同的方法来实现 Android onClick 按钮单击事件。每种方法都有其自己的优缺,但都可以满足我们的需求。在实际开发中,我们可以根据具体情况选择合适的方法来实现 onClick 事件监听。

    手机页面的转换--setContentView的应用

    手机页面的转换不仅仅是简单的`setContentView()`调用,还涉及到Intent的使用。Intent是Android系统中的一种消息对象,它用于启动新的Activity或服务。例如,当你点击一个按钮想要跳转到下一个页面时,可以创建一个...

    android监听返回按钮事件的方法

    在Android中,我们可以通过重写`onKeyDown()`方法来监听硬件返回键的按下事件。 以下是一个简单的示例,展示了如何监听返回按钮并弹出一个确认退出的对话框: ```java @Override protected void onCreate(Bundle ...

    自定义注解实现IOC,代替findviewbyid,setcontentview,setListener

    为了解决这些问题,我们可以采用自定义注解实现Inversion of Control(IoC,控制反转)和Dependency Injection(DI,依赖注入)来简化代码,提高可读性和可测试性。本文将深入探讨如何通过自定义注解来实现这一目标...

    android 标签绑定事件

    在传统的Android开发中,我们通常在Activity或Fragment的`onCreate()`或`onViewCreated()`方法中找到对应的视图元素,然后手动设置点击事件或其他类型的事件监听器。例如,对于一个按钮,我们可能会这样做: ```...

    Android 单击实现页面跳转

    在Android应用开发中,页面跳转是用户交互中不可或缺的一部分,它使得用户能够在不同的Activity之间进行切换,体验应用的不同功能。本教程将详细介绍如何在Android中实现单击事件触发的页面跳转。 首先,我们需要...

    深入解析Android中的setContentView加载布局原理

    在Android应用开发中,`setContentView`是一个至关重要的方法,用于将XML布局文件加载到活动(Activity)中,成为用户界面的基础。这个方法是每个Activity生命周期的起点,它告诉系统如何构建活动的视图结构。下面...

    ViewBinding与Kotlin委托结合使用,去除setContentView,原理伪代码

    ViewBinding与Kotlin委托结合使用,去除setContentView。 ViewBindingPropertyDelegate和hi-dhl/Binding库的伪代码,用来了解其内部实现原理。 相当于是手写了一个简单的ViewBindingDelegate和Binding库 可看我的...

    Android开发中setContentView和inflate的区别分析

    本文实例讲述了Android开发中setContentView和inflate的区别。分享给大家供大家参考,具体如下: 一般用LayoutInflater做一件事:inflate inflate这个方法总共有四种形式(见下面),目的都是把xml表述的layout转化...

    实现跟踪鼠标单击状态的图片按钮

    实现一个跟踪鼠标单击状态的图片按钮,主要是通过监听按钮的按下和释放事件,来改变按钮的显示状态,以提供用户友好的交互体验。下面我们将详细探讨如何在Android中实现这一功能。 首先,我们需要在布局文件(如...

Global site tag (gtag.js) - Google Analytics