今天做一个小程序时,中间界面的切换全部用了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环境下,单击按钮后,改变 按钮背景颜色,通过这个功能来练习单击事件的监听器用法: super.onCreate(savedInstanceState); setContentView(R.layout.main);//设置当前屏幕 Button ...
setContentView最大限度的提高切换页面的速度,一定要和LayoutInflate配合使用,解决切换后监听无效,要多次findViewById多次绑定监听的问题。这是我自己写的一个小例子,详解参见:...
Activity使用setContentView切换界面
setContentView学习例子,android切换界面实例
Dialog自带了三个方法来支持自定义内容布局。 public void setContentView (int layoutResID); public void setContentView (View view); public void setContentView (View view, ViewGroup.LayoutParams ...
ViewBinding与Kotlin委托结合使用,去除setContentView。 ViewBindingPropertyDelegate和hi-dhl/Binding库的伪代码,用来了解其内部实现原理。 相当于是手写了一个简单的ViewBindingDelegate和Binding库 可看我的...
手机页面的转换--setContentView的应用 android 手机页面 转换 setContentView的应用 layout
本文实例讲述了Android开发中setContentView和inflate的区别。分享给大家供大家参考,具体如下: 一般用LayoutInflater做一件事:inflate inflate这个方法总共有四种形式(见下面),目的都是把xml表述的layout转化...
在日常开发Android中setContentView是必不可少的一部分,下面这篇文章主要给大家介绍了关于Android中setContentView的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要...
自定义注解实现IOC依赖注入,代替findviewbyid,setcontentview,setListener
Android开发教程_012_创建Activity调用setContentView 标清
一、实验名称:实验5 事件处理 二、实验日期: 三、实验目的: 基于监听的事件处理 基于回调的事件处理 四、实验用的仪器和材料:Windows+Eclipse+jdk+sdk+adt 五、实验的步骤和方法: 实验一:基于监听的事件处理...
使用方法:在Activity的onCreate中setContentView之后调用 SoftKeyboardFixerForFullscreen.assistActivity(this) //解决全屏Activity的键盘档住输入框
应用程序入口Activity的onCreate方法中加入上面的判断,在setcontentview方法之前调用。 以上所述是小编给大家介绍的 Android应用第一次安装成功点击“打开”后Home键切出应用后再点击桌面图标返回导致应用重启问题...
一、问题概述 在编辑框输入内容时会弹出软键盘,而手机屏幕... 在你的activity中的oncreate中setContentView之前写上这个代码 getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
本文实例讲述了android监听返回按钮事件的方法。分享给大家供大家参考。具体如下: 用户在点击手机的返回按钮时,默认是推出当前的activty,但是有时用户不小心按到返回,所以需要给用户一个提示,这就需要重写...
全屏模式下,即使将activity的windowSoftInputMode的属性... 使用方法 在你的Activity的oncreate()方法里调用AndroidBug5497Workaround.assistActivity(this);即可。注意:在setContentView(R.layout.xxx)之后调用。