获取数据时获取Null字符串来自android中的EditText

时间:2014-04-16 10:39:09

标签: android string null android-edittext

从文本框中获取数据时,我获得了空数据。

我的代码是:

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

请告诉我哪里错了?

4 个答案:

答案 0 :(得分: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);
    }

}
} 

答案 1 :(得分:2)

看看..你在做什么...在获得EditText之后立即调用getText()的对象...在逻辑上思考..显然没什么(它应该返回空白但是不知道为什么它会在EditText中隐藏null,除非你从xml获得它......这样的东西;

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

试试这个..或者在某个按钮点击下移动getText()电话。

答案 2 :(得分:2)

请替换您的以下

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

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

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

答案 3 :(得分:2)

这是你的代码,

EditText msg=(EditText)findViewById(R.id.Et_Msg);
String setMsg=msg.getText().toString();
Log.v("Messge","Message::"+setMsg);
  • 第一行是初始化EditText。默认情况下,edittext中没有值(字符串)。
  • 在第二行,您尝试从空白edittext 中提取字符串,这就是为什么它会为您提供NullPointerException

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