EditText 空指针问题
今天在Android中碰到了这样一个问题,其实应该很少人会碰到,因为只有像我这种奇葩才会犯这种错误。
但既然解决了,我就想在这里跟大家分享一下,毕竟它困扰了我一个白天啊。。。不多说了,看下面。。。
其实问题很简单,就是Caused By : java.lang.NullPointerException.
上面就是我在用EditText 的时候它给我提示的错误类型。
为了简便,截取了部分代码如下,这就是问题的根源所在。
super.onCreate(savedInstanceState);
final EditText et = (EditText)findViewById(R.id.editTextId);
String str = et.getText().toString().trim();
setContentView(R.layout.main);
咋一看,没什么不对啊。就是因为我是新手,所以没看出端倪来。然后拼命的报错,拼命的上网查。
而网上却没有这个情况。。。
ADT Log 里面显示的出错位置就是String str = et.getText().toString().trim();这一行。
可它真的没什么不对啊,如果此时你呵呵了。那么你已经看出来了。
对,就是setContentView(R.layout.main);这句话位置放错了,它应该放在引用的资源文件的前面,在这里也就是
final EditText et = (EditText)findViewById(R.id.editTextId);这句话的前面。因为R.id.editTextId这个Id
引用到了R.layout.main这个Xml文件里面的对EditText的定义<EditText android:id="@+id/editTextId"
而在final EditText et = (EditText)findViewById(R.id.editTextId)句话之前我们并没有把R.layout.main这个Xml
文件放到我们的Context中来。我们可以观察一下findViewById()方法,会发现原来此方法中的R.id.editTextId是从当前
Activity的主布局文件xml中获取。而R.layout.main一定要先于findViewById(R.id.editTextId)在程序中声明。
那么这样改就对了:
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final EditText et = (EditText)findViewById(R.id.editTextId);
String str = et.getText().toString().trim();
这是本人犯的低价错误,对于大神没有什么参考价值,但我确确实实被它耍了一回,所以有必要在这里分享一下。
转载于:https://www.cnblogs.com/beyondckw/p/3959662.html
EditText 空指针问题相关推荐
- alert获取输入框内容_获取由 AlertDialog 生成的对话框中EditText的文本内容
在Android开发中,AlertDialog常用于处理用户的登录等.那么如何获取由 AlertDialog 生成的对话框中EditText的文本内容呢? 其实Alertdialog弹出的Activi ...
- android 写空指针,写下文本内容时bufferedwriter一直显示空指针,求指教
写入文本内容时bufferedwriter一直显示空指针,求指教 package com.example.android_32_chatclinet; import java.io.BufferedR ...
- EditText光标始终保持在文字末尾
重写edittext的onSelectionChanged方法,我这里重写的是AppCompatEditText的onSelectionChanged @Override protected void ...
- Android中Dialog数据的获取报错空指针问题
今天自定义Dialog,目的是需要在Dialog中输入EditText然后获取数据传递到需要的地方,最初的方法: OnCreat()方法中初始化view控件,然后使用.getText()来获取,这是平 ...
- Android EditText 编辑框 获取焦点的方法
EditText 获取焦点的方法为:setOnFocusChangeListener 下面写一个EditText 编辑框获取焦点之后改变背景颜色 主要代码如下 public class MainAct ...
- Android EditText的光标的显示与隐藏
编辑框的光标 隐藏的方法: editText.setCursorVisible(false); 编辑框的光标 显示的方法: editText.setCursorVisible(true); 加入现在希 ...
- Android Edittext digits 属性限制输入的内容
digits属性中设置允许的字符,未允许的字符即使软键盘上有显示,点击后也无法显示到EditText中. 例如显示显示输入的内容为数字字母以及,和. 就可以使用如下 <EditTextandro ...
- android EditText 修改光标的颜色值
EditText 修改光标的颜色值 的方法非常简单 使用textCursorDrawable 即可 可以在EditText 里面 android:textCursorDrawable="@d ...
- android edittext 默认不获取焦点
在edittext 的父布局中添加下面2句话即可了 android:focusable="true" android:focusableInTouchMode="true ...
最新文章
- “另一个程序正在使用此文件,进程无法访问”的解决方法
- 【计算理论】图灵机 ( 非确定性图灵机 | 非确定性图灵机指令分析 | 计算过程 | 非确定性指令出现多个分支 | 非确定性图灵机转为计算树 | 计算树 )
- 62.类文件结构(平台无关性、类文件结构)
- The directory '*' or its parent directory is not owned by the current user
- 2014 java面试题_2014 java面试题 (答案)
- BAT老程序员分享:Linux C/C++ 开发程序员的黄金方向和学习路线!
- Java 11:String类中的新方法
- linux内核完全剖析0.11,linux0.11内核完全剖析 - ramdisk.c
- python时间格式转换为美式日期_如何将日期时间格式的排列转换为python中的打印?...
- python环形队列_Python 实现数据结构-循环队列的操作方法
- python数字转字符串_python中如何将数字转字符串
- clock函数,计算程序运行时间
- Tapestry5 事件分派机制
- 2014年3月份全国计算机等级考试二级c语言选择题大全,2014年3月全国计算机二级C选择题考试真题...
- # Codeforces Round #722(div2)D. Kavi on Pairing Duty
- 康考迪亚大学获560万加元捐赠以鼓励创造力,是魁北克美术学院有史以来最大一笔捐赠
- 程序员偷看了老板的微信分组,惊呆了……
- 超级好用的cmd工具软件:Cmder
- 银行账号和身份证号的数据有效性设置
- Excel函数大全(Excel Function List)-Part 1
热门文章
- C语言高级编程:大端模式和小端模式(Big-Endian和Little-Endian)
- 银行假流水怎么识破?
- 学习笔记(一)(x264编码流程)
- [学习] FPGA之基本原理(可能理解不对)
- sql 相加_SQL经典题型
- python中的类装饰器应用场景_Python 自定义装饰器使用写法及示例代码
- python中csv文件通过什么表示字符_python_写入csv文件时候无法进行原样写入(写入字符串中出现逗号,时候,csv文件自动分成两个单元格)...
- php正则大小写字母,php 常见email,url,英文大小写,字母数字组合等正则表达式详解...
- update inner join mysql_Mysql update inner join
- MKL学习——数学运算库安装调试