展会信息港展会大全

判断从TextView里取出的字符串是否为空 android开发
来源:互联网   发布日期:2015-11-15 10:20:29   浏览:5305次  

导读:研究安卓UI,发现从组件TextView里取出的字符串时,需要判断这个字符串是否为空例如,在用户登录界面,会有用户名的信息,在登录时,系统要获取TextView里的用户名,并判断是否为空开始时,我是这样判断的btn_lo......

研究安卓UI,发现从组件TextView里取出的字符串时,需要判断这个字符串是否为空

例如,在用户登录界面,会有用户名的信息,在登录时,系统要获取TextView里的用户名,并判断是否为空

开始时,我是这样判断的

btn_login.setOnClickListener(new OnClickListener()

{

@Override

public void onClick(View v)

{

ComponentName cn=new ComponentName(MainActivity.this,"com.example.test_intent.login");

String username=userEditText.getText().toString();

if(username==null)

{

buliBuilder.setMessage("用户名不能为空!").setPositiveButton("确定", new DialogInterface.OnClickListener()

{

@Override

public void onClick(DialogInterface dialog, int which)

{

Toast.makeText(getApplicationContext(), R.string.user_hint, 3000).show();

// TODO Auto-generated method stub

}

});

AlertDialog adAlertDialog=buliBuilder.create();

adAlertDialog.show();

}

else

{

String password=pswEditText.getText().toString();

Bundle bundle=new Bundle();

bundle.putString("username", username);

bundle.putString("password", password);

Intent intent=new Intent();

intent.setComponent(cn);

intent.putExtras(bundle);

startActivity(intent);

// TODO Auto-generated method stub

}

}

直接用username==null(或者username.equals(null))判断,发现这是错的,登录时这个根本起不到判断作用

后来改了一下

btn_login.setOnClickListener(new OnClickListener()

{

@SuppressLint("NewApi")

@Override

public void onClick(View v)

{

ComponentName cn=new ComponentName(MainActivity.this,"com.example.test_intent.login");

String username=userEditText.getText().toString();

if(username.isEmpty())

{

buliBuilder.setMessage("用户名不能为空!").setPositiveButton("确定", new DialogInterface.OnClickListener()

{

@Override

public void onClick(DialogInterface dialog, int which)

{

Toast.makeText(getApplicationContext(), R.string.user_hint, 3000).show();

// TODO Auto-generated method stub

}

});

AlertDialog adAlertDialog=buliBuilder.create();

adAlertDialog.show();

}

else

{

String password=pswEditText.getText().toString();

Bundle bundle=new Bundle();

bundle.putString("username", username);

bundle.putString("password", password);

Intent intent=new Intent();

intent.setComponent(cn);

intent.putExtras(bundle);

startActivity(intent);

// TODO Auto-generated method stub

}

}

});

但是发现,输入框为其他一些转义字符时,isEmpty()还是不能识别.

最后,只好重写isEmpty(),最后改为:

btn_login.setOnClickListener(new OnClickListener()

{

@Override

public void onClick(View v)

{

ComponentName cn=new ComponentName(MainActivity.this,"com.example.test_intent.login");

String username=userEditText.getText().toString();

if(isEmpty(username))

{

buliBuilder.setMessage("用户名不能为空!").setPositiveButton("确定", new DialogInterface.OnClickListener()

{

@Override

public void onClick(DialogInterface dialog, int which)

{

Toast.makeText(getApplicationContext(), R.string.user_hint, 3000).show();

// TODO Auto-generated method stub

}

});

AlertDialog adAlertDialog=buliBuilder.create();

adAlertDialog.show();

}

else

{

String password=pswEditText.getText().toString();

Bundle bundle=new Bundle();

bundle.putString("username", username);

bundle.putString("password", password);

Intent intent=new Intent();

intent.setComponent(cn);

intent.putExtras(bundle);

startActivity(intent);

// TODO Auto-generated method stub

}

}

});

public static boolean isEmpty( String input )

{

if ( input == null || "".equals( input ) )

return true;

for ( int i = 0; i < input.length(); i++ )

{

char c = input.charAt( i );

if ( c != ' ' && c != '\t' && c != '\r' && c != '\n' )

{

return false;

}

}

return true;

}

这样就可以了.

给个截图

这样就可以识别转义字符带来的麻烦。

赞助本站

人工智能实验室

相关热词: 判断 TextView 字符串 为空

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港