今天在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 空指针问题相关推荐

  1. alert获取输入框内容_获取由 AlertDialog 生成的对话框中EditText的文本内容

    在Android开发中,AlertDialog常用于处理用户的登录等.那么如何获取由 AlertDialog 生成的对话框中EditText的文本内容呢? 其实Alertdialog弹出的Activi ...

  2. android 写空指针,写下文本内容时bufferedwriter一直显示空指针,求指教

    写入文本内容时bufferedwriter一直显示空指针,求指教 package com.example.android_32_chatclinet; import java.io.BufferedR ...

  3. EditText光标始终保持在文字末尾

    重写edittext的onSelectionChanged方法,我这里重写的是AppCompatEditText的onSelectionChanged @Override protected void ...

  4. Android中Dialog数据的获取报错空指针问题

    今天自定义Dialog,目的是需要在Dialog中输入EditText然后获取数据传递到需要的地方,最初的方法: OnCreat()方法中初始化view控件,然后使用.getText()来获取,这是平 ...

  5. Android EditText 编辑框 获取焦点的方法

    EditText 获取焦点的方法为:setOnFocusChangeListener 下面写一个EditText 编辑框获取焦点之后改变背景颜色 主要代码如下 public class MainAct ...

  6. Android EditText的光标的显示与隐藏

    编辑框的光标 隐藏的方法: editText.setCursorVisible(false); 编辑框的光标 显示的方法: editText.setCursorVisible(true); 加入现在希 ...

  7. Android Edittext digits 属性限制输入的内容

    digits属性中设置允许的字符,未允许的字符即使软键盘上有显示,点击后也无法显示到EditText中. 例如显示显示输入的内容为数字字母以及,和. 就可以使用如下 <EditTextandro ...

  8. android EditText 修改光标的颜色值

    EditText 修改光标的颜色值 的方法非常简单 使用textCursorDrawable 即可 可以在EditText 里面 android:textCursorDrawable="@d ...

  9. android edittext 默认不获取焦点

    在edittext 的父布局中添加下面2句话即可了 android:focusable="true" android:focusableInTouchMode="true ...

最新文章

  1. “另一个程序正在使用此文件,进程无法访问”的解决方法
  2. 【计算理论】图灵机 ( 非确定性图灵机 | 非确定性图灵机指令分析 | 计算过程 | 非确定性指令出现多个分支 | 非确定性图灵机转为计算树 | 计算树 )
  3. 62.类文件结构(平台无关性、类文件结构)
  4. The directory '*' or its parent directory is not owned by the current user
  5. 2014 java面试题_2014 java面试题 (答案)
  6. BAT老程序员分享:Linux C/C++ 开发程序员的黄金方向和学习路线!
  7. Java 11:String类中的新方法
  8. linux内核完全剖析0.11,linux0.11内核完全剖析 - ramdisk.c
  9. python时间格式转换为美式日期_如何将日期时间格式的排列转换为python中的打印?...
  10. python环形队列_Python 实现数据结构-循环队列的操作方法
  11. python数字转字符串_python中如何将数字转字符串
  12. clock函数,计算程序运行时间
  13. Tapestry5 事件分派机制
  14. 2014年3月份全国计算机等级考试二级c语言选择题大全,2014年3月全国计算机二级C选择题考试真题...
  15. # Codeforces Round #722(div2)D. Kavi on Pairing Duty
  16. 康考迪亚大学获560万加元捐赠以鼓励创造力,是魁北克美术学院有史以来最大一笔捐赠
  17. 程序员偷看了老板的微信分组,惊呆了……
  18. 超级好用的cmd工具软件:Cmder
  19. 银行账号和身份证号的数据有效性设置
  20. Excel函数大全(Excel Function List)-Part 1

热门文章

  1. C语言高级编程:大端模式和小端模式(Big-Endian和Little-Endian)
  2. 银行假流水怎么识破?
  3. 学习笔记(一)(x264编码流程)
  4. [学习] FPGA之基本原理(可能理解不对)
  5. sql 相加_SQL经典题型
  6. python中的类装饰器应用场景_Python 自定义装饰器使用写法及示例代码
  7. python中csv文件通过什么表示字符_python_写入csv文件时候无法进行原样写入(写入字符串中出现逗号,时候,csv文件自动分成两个单元格)...
  8. php正则大小写字母,php 常见email,url,英文大小写,字母数字组合等正则表达式详解...
  9. update inner join mysql_Mysql update inner join
  10. MKL学习——数学运算库安装调试