今天在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();

这是本人犯的低价错误,对于大神没有什么参考价值,但我确确实实被它耍了一回,所以有必要在这里分享一下。

EditText 空指针问题的更多相关文章

  1. Android中findViewById()获取EditText 空指针问题

    因为EditText editText = (EditText)layout.findViewById(R.id.input_content);是从Dialog对话框布局layout中寻找ID为inp ...

  2. EditText 基本用法

    title: EditText 基本用法 tags: EditText,编辑框,输入框 --- EditText介绍: EditText 在开发中也是经常用到的控件,也是一个比较必要的组件,可以说它是 ...

  3. C++11特性——变量部分(using类型别名、constexpr常量表达式、auto类型推断、nullptr空指针等)

    #include <iostream> using namespace std; int main() { using cullptr = const unsigned long long ...

  4. Android带加减的edittext

    看了网上这样自带加减的edittext写得好复杂,还有各种监听事件,我觉得没有必有.于是我自己写了一个. 我这个edittext仅仅限制整数,每次加减1. public class TestEditT ...

  5. android EditText 默认情况下不获取焦点(不弹出输入框)

    可以在EditText前面放置一个看不到的LinearLayout,让它率先获取焦点: <LinearLayout android:focusable="true" andr ...

  6. 使用EditText的addTextChangedListener(new TextWatcher())方法

    (转:http://www.apkbus.com/android-5257-1-14.html) 在使用EditText的addTextChangedListener(new TextWatcher( ...

  7. 布局TextView和EditText区别,layout_width和lay_weight区别--Android Studio

    1. TextView控件是文本表示控件,主要功能是向用户展示文本的内容,它是不可编辑的,如设置标题:EditText控件是编辑文本控件,主要功能是让用户输入文本的内容,它是可以编辑的.每一个控件都有 ...

  8. appium实现截图和清空EditText

    前些日子,配置好了appium测试环境,至于环境怎么搭建,参考:http://www.cnblogs.com/tobecrazy/p/4562199.html   知乎Android客户端登陆:htt ...

  9. EditText获取和失去焦点,软键盘的关闭,和软键盘的显示和隐藏的监听

    软键盘显示和隐藏的监听: 注: mReplayRelativeLayout是EditText的父布局 //监听软键盘是否显示或隐藏 mReplayRelativeLayout.getViewTreeO ...

随机推荐

  1. python面向对象(上)

    创建类 Python 类使用 class 关键字来创建.简单的类的声明可以是关键字后紧跟类名: class ClassName(bases): 'class documentation string' ...

  2. golang make the first character in a string lowercase/uppercase

    import ( "unicode" ) func UcFirst(str string) string { for i, v := range str { return stri ...

  3. JSP中Filter中访问Spring管理的beans

    @Override public void init(FilterConfig filterConfig) {  //unchecked = filterConfig.getInitParameter ...

  4. LogBoy 之Android Studio控制台输出日志太多清空

    在使用Android studio的时候,有时候会由于手机输出的日志太多,导致控制台瞬间清空,尤其是遇见一些FATAL Exception时候,瞬间控制台就被清空了,根本捕获不到,导致其他调试的日志也 ...

  5. Mac ssh登陆linux并且显示linux图形

    背景: Mac 通过[终端]ssh登陆linux并且在Mac显示linux图形 Mac 主机IP: 10.2.1.1 linux 主机IP: 192.168.1.1 说明: 想要ssh访问并且显示li ...

  6. Leetcode算法刷题:217和219题 Contains Duplicate

    从题目名字就可以看出这两道题是相似的,219是217的加强版 217:Contains Duplicate 题目 给予一个数组,判断是否有重复的元素.如果有就返回True,没有就返回False.以下是 ...

  7. 再次优化NGINX+php-fpm上传

    上次写了一篇nginx+php-fpm优化上传,一位博友留言介绍了,第三方nginx upload module http://www.grid.net.ru/nginx/upload.en.html ...

  8. Oracle EBS-SQL (QA-3):检查已检验未入库.sql

    DEFINE RECE="%"  SELECT rsh.receipt_num                                    收据号,           ...

  9. Inno Setup使用上的几个问题 (转)

    Inno Setup使用上的几个问题: [问题一:Inno Setup 执行REG文件代码?][Run]Filename: "{win}\regedit.exe";Paramete ...

  10. 10453 Make Palindrome (dp)

    Problem A Make Palindrome Input: standard input Output: standard output Time Limit: 8 seconds By def ...