【问题标题】:Got Null String while get data From EditText in android从Android中的EditText获取数据时得到空字符串
【发布时间】:2014-05-31 04:27:45
【问题描述】:

我从文本框获取数据时得到空数据。

我的代码是:

EditText msg=(EditText)findViewById(R.id.Et_Msg);
String setMsg=msg.getText().toString();
Log.v("Messge","Message::"+setMsg);

请告诉我哪里错了?

【问题讨论】:

  • 你必须在一些按钮点击下移动这个String setMsg=msg.getText().toString();
  • 字符串 setMsg=msg.getText().toString();它会在一些听众身上起作用!
  • 我在 Button 上使用过它但它得到了空字符串
  • 可能你没有输入任何内容。
  • 如果 EditText 没有被填充或者设置为 null,换句话说,你一定会得到 null。进行检查。

标签: android string null android-edittext


【解决方案1】:

这是你的代码,

EditText msg=(EditText)findViewById(R.id.Et_Msg);
String setMsg=msg.getText().toString();
Log.v("Messge","Message::"+setMsg);
  • 第一行是初始化 EditText。默认情况下,edittext 中没有值(字符串)。
  • 在第二行中,您尝试从 空白编辑文本 中获取字符串,这就是它给您NullPointerException 的原因。

解决方案:我建议您将您的行 String setMsg=msg.getText().toString(); 移动到您实际要使用 EditText 值的其他地方。

【讨论】:

    【解决方案2】:

    在从 EditText 获取数据时,您必须 create a listener 否则您将获得 null 的值作为示例按钮单击侦听器。 举个例子:

     public class A extends Activity implements OnClickListener{
        Button btn;
        EditText edt;
        @Override
        public void onCreate(Bundle saved){
        super.onCreate(saved);
        edt = (EditText) findViewById(R.id.your_id);
        btn = (Button) findViewById(R.id.your_id);
        btn.setOnClickListener(this);
        }
        @Override
        public void onClick(View v){
        if(v == btn){
        String setMsg=edt.getText().toString();
        Log.v("Messge","Message::"+setMsg);
        }
    
    }
    } 
    

    【讨论】:

      【解决方案3】:

      看看..你在做什么..在获得EditText的对象后立即调用getText()..从逻辑上思考..显然什么都没有(它应该返回空白,但不知道为什么正在返回 null) 在 EditText 中,除非您从 xml.. 获得它;

      <EditText
          ...
          android:text="Hey there"
          ...
      />
      

      试试这个.. 或在一些按钮点击下移动getText() 呼叫..

      【讨论】:

        【解决方案4】:

        请替换您的以下行

        String setMsg=msg.getText().toString();
        

        String setMsg = String.valueOf(msg.getText());
        

        请尝试以上行。您的问题将得到解决。

        【讨论】:

        • 它做同样的事情,主要问题是当OP初始化一个Editext时它是空白的,因此她得到一个错误。
        猜你喜欢
        • 2013-01-12
        • 2018-09-27
        • 2015-04-26
        • 1970-01-01
        • 2013-09-26
        • 1970-01-01
        • 2012-05-16
        • 2015-09-10
        • 1970-01-01
        相关资源
        最近更新 更多