当前位置: 代码迷 >> Android >> EditText.getText().toString().trim()的有关问题
  详细解决方案

EditText.getText().toString().trim()的有关问题

热度:261   发布时间:2016-04-28 04:37:28.0
EditText.getText().toString().trim()的问题。
明明是很简单的问题,我也不知道为什么就是达不到预期效果。
问题是这样的:布局中有个一个EditText(带有hint),是用来填ip地址和端口号的,有一个按钮,用来根据EditText填入的地址来下载,问题来了,我用if语句来判断EditText是不是有填入东西,if语句里边还设置了Toast来显示提示信息。在模拟器运行就出问题了,EditText明明没有修改过,hint还在,但是点击下载按钮后弹出的是EditText有改过的那个条件的Toast。上图上代码。

MainActivity的代码:
package com.example.downloadparsetest;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends Activity {
//定义控件
private EditText iptext;
private Button downloadbtn;

//定义所需变量
private String xml;
private int apiVersion = android.os.Build.VERSION.SDK_INT;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

iptext = (EditText)this.findViewById(R.id.iptext);
downloadbtn = (Button)this.findViewById(R.id.downloadbtn);
System.out.println(apiVersion);
DownloadListener downloadListener = new DownloadListener();
downloadbtn.setOnClickListener(downloadListener);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

//定义监听器
class DownloadListener implements OnClickListener{

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(iptext.getText().toString().trim()==null || iptext.getText().toString().trim()==""){
Toast.makeText(MainActivity.this, "ip为空", 1).show();
}
else{
String ipAdress = (String)iptext.getText().toString().trim();
Toast.makeText(MainActivity.this, "这有问题。。", 1).show();
}
}

}

}


布局文件activity_main.xml的代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity" >

    <LinearLayout 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
        
        <EditText 
            android:id="@+id/iptext"
            android:layout_width="260dp"
            android:layout_height="wrap_content"
            android:hint="输入IP和端口"
            />
        
        <Button 
            android:id="@+id/downloadbtn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="下载"/>
        
    </LinearLayout>

</LinearLayout>


出现的情况:


------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

EditText.getText().toString().trim()的问题。   你是获取不到值吗
随便输入什么来测试过,是能获取的。头痛的是不输入任何东西,那个变量仍然是非空值。。。

getText().toString()后就算没输入任何东西,返回的是""字符串,而不是null。

请使用equas来比较
  相关解决方案