我正在尝试使用editText为我的Android应用程序登录屏幕。无论我如何尝试让它工作,它永远不会!目前我只是想将editText字段与单个字母字符串进行比较,如果匹配则调用函数来启动新活动。
非常感谢任何帮助!我的最终目标是制作两个Toast消息。如果没有输入,则显示“请输入用户名和密码”,如果输入错误则会显示“用户名密码组合错误”。然后如果匹配,应用程序将转到下一页,标题为“设备页面”。再次感谢!!
package com.example.chirp;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
public class LogIn extends Activity{
EditText edit_text;
//
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.loginscreen);
edit_text = (EditText)findViewById(R.id.editText2);
login = (Button)findViewById(R.id.button1);
login.setOnClickListener(new View.OnClickListener()
{
public void onClick(View view)
{
// Log.v("EditText value=", edit_text.getText().toString());
if(edit_text.getText().toString() == "d")
{
newscreen();
}
}
});
}
public void newscreen(){
Intent i = new Intent(this, Devices.class);
startActivity (i);
}
}
答案 0 :(得分:3)
Edit.getText().toString() == "d"
String
应与.equals()
方法进行比较。所以改成它:
Edit.getText().toString().equals("d");
如果您的意思是即使不区分大小写,也可以使用:
Edit.getText().toString().equalsIgnoreCase("d");
答案 1 :(得分:2)
试试这个..
==
总是只比较两个引用。 字符串您应该使用.equals
if(Edit.getText().toString().equals("d"))
{
newscreen();
}
答案 2 :(得分:0)
注意:比较字符串,请使用equals()。
假设您只想在点击任何按钮时比较字符串以转到不同的屏幕:
if(edit_text.getText().toString().equals("Your String"))
{
yourSomeScreen();
}
如果要在编辑文本字段中键入时比较字符串,则需要使用TextWatcher,如下所示:
http://www.learn-android-easily.com/2013/06/using-textwatcher-in-android.html
希望这会有所帮助.. :)