EditText.getText().toString().trim()的问题。

吾非名家 2014-07-25 04:52:01
明明是很简单的问题,我也不知道为什么就是达不到预期效果。
问题是这样的:布局中有个一个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>


出现的情况:

...全文
4062 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
吾非名家 2014-07-25
  • 打赏
  • 举报
回复
引用 7 楼 lionfresh 的回复:
引用 4 楼 lionfresh 的回复:
[quote=引用 2 楼 u010445247 的回复:] [quote=引用 1 楼 xmt1139057136 的回复:] EditText.getText().toString().trim()的问题。 你是获取不到值吗
随便输入什么来测试过,是能获取的。头痛的是不输入任何东西,那个变量仍然是非空值。。。
getText().toString()后就算没输入任何东西,返回的是""字符串,而不是null。[/quote] 请使用equas来比较 [/quote]一言惊醒梦中人。。
lionfresh 2014-07-25
  • 打赏
  • 举报
回复
equals,少打了个l
lionfresh 2014-07-25
  • 打赏
  • 举报
回复
引用 4 楼 lionfresh 的回复:
引用 2 楼 u010445247 的回复:
[quote=引用 1 楼 xmt1139057136 的回复:] EditText.getText().toString().trim()的问题。 你是获取不到值吗
随便输入什么来测试过,是能获取的。头痛的是不输入任何东西,那个变量仍然是非空值。。。
getText().toString()后就算没输入任何东西,返回的是""字符串,而不是null。[/quote] 请使用equas来比较
吾非名家 2014-07-25
  • 打赏
  • 举报
回复
引用 4 楼 lionfresh 的回复:
引用 2 楼 u010445247 的回复:
[quote=引用 1 楼 xmt1139057136 的回复:] EditText.getText().toString().trim()的问题。 你是获取不到值吗
随便输入什么来测试过,是能获取的。头痛的是不输入任何东西,那个变量仍然是非空值。。。
getText().toString()后就算没输入任何东西,返回的是""字符串,而不是null。[/quote]你再看看我发的代码,if语句里边也有getText().toString()=="" 这句判断语句的。。
吾非名家 2014-07-25
  • 打赏
  • 举报
回复
引用 3 楼 xmt1139057136 的回复:
http://bbs.csdn.net/topics/390843265?page=1#post-397848346 看看源码
看那些源码也解决不了我这个问题吧。。。
lionfresh 2014-07-25
  • 打赏
  • 举报
回复
引用 2 楼 u010445247 的回复:
引用 1 楼 xmt1139057136 的回复:
EditText.getText().toString().trim()的问题。 你是获取不到值吗
随便输入什么来测试过,是能获取的。头痛的是不输入任何东西,那个变量仍然是非空值。。。
getText().toString()后就算没输入任何东西,返回的是""字符串,而不是null。
业余草 2014-07-25
  • 打赏
  • 举报
回复
http://bbs.csdn.net/topics/390843265?page=1#post-397848346 看看源码
吾非名家 2014-07-25
  • 打赏
  • 举报
回复
引用 1 楼 xmt1139057136 的回复:
EditText.getText().toString().trim()的问题。 你是获取不到值吗
随便输入什么来测试过,是能获取的。头痛的是不输入任何东西,那个变量仍然是非空值。。。
业余草 2014-07-25
  • 打赏
  • 举报
回复
EditText.getText().toString().trim()的问题。 你是获取不到值吗

80,473

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧