找回密码
 立即注册
首页 业界区 安全 安卓开发踩坑记录_获取EditText的text引发的空指针问题 ...

安卓开发踩坑记录_获取EditText的text引发的空指针问题

襁壮鸢 4 天前
先看一下我们想要实现的效果:
1.png

 
先看一下,下面错误的写法
//界面A的button点击后的代码
  1. public void A(View v)
  2. {
  3.    EditText text=(EditText)findViewById(R.id.text);
  4.     text.getText().toSting();
  5. }
复制代码
 
    看着代码逻辑好像没有任何问题,其实这样会导致EditText报错,空指针的问题。
造成这个问题的原因是findViewById()这个方法默认是从A界面中来获取ID,而我们的EditText在另外一个界面中,当然获取不到EditText的内容啦。

 
解决办法:使用View.inflate()方法
代码逻辑:
1、首先使用View.inflate()这个方法加载我们另外一个界面的xml文件到变量中
2、接着在从变量中获取ID,然后就可以获得内容了。
实现代码:
  1. public void A(View v)
  2. {
  3. View b = View.inflate(MainActivity.this,R.layout.B,null)
  4. EditText text = (EditText)b.findViewById(R.id.edit)
  5. String ttext=text.getText().toString();
  6. Toast.makeText(getApplicationContext(),ttext,2000).show();
  7. }
复制代码
 
这样就能获取到另外一个xml中的EditText的内容了

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册