我正在开发一个android app
,其中有一个Login activity
,一个问卷调查活动包含问题。所以现在我想让用户只输入一个唯一的ID来访问应用程序帮助阻止未经授权的用户。我尝试使用代码,但是当我按下登录按钮时,即使密码与我给出的密码相匹配,它也会弹出警报对话框。我想保留的密码是'VISTEON'。如果输入的密码是rite,那么它应该用于下一个活动。
检查我的java代码并帮助我修改它。我们将非常感激。 在此先感谢。
这是我的java代码
public class Klogin extends Activity {
EditText editText1;
Button login;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_login);
addButtonListener();
}
public void addButtonListener()
{
Button login=(Button)findViewById(R.id.button1);
login.setOnClickListener(new OnClickListener(){
public void onClick(View v){
if(validationSuccess()){
Intent intent = new Intent(Klogin.this, Login.class);
startActivity(intent);
}
}
});
}
private Boolean validationSuccess()
{
EditText visteon = null;
if(editText1==visteon)
{
alertDialog();
return false;
}
return true;
}
private void alertDialog()
{
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(Klogin.this);
alertDialogBuilder.setMessage("Please ENTER the Correct password").setCancelable(false).setPositiveButton("OK", new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int id)
{
dialog.cancel();
}
});
AlertDialog alert = alertDialogBuilder.create();
alert.show();
}
答案 0 :(得分:2)
尝试这种方式首先初始化EditText edit_password
,如
EditText edit_password = (EditText)findViewById(R.id.edit_password);
现在,像
一样创建validationSuccess(......)
private Boolean validationSuccess(String str)
{
if(!str.equals("yourcorrectpassword"))
{
alertDialog();
return false;
}
return true;
}
现在称这个函数为
login.setOnClickListener(new OnClickListener(){
public void onClick(View v){
if(validationSuccess(edit_password.getText.toString())){
Intent intent = new Intent(Klogin.this, Login.class);
startActivity(intent);
}
}
});
并确保EditText
布局文件中包含edit_password
activity_main_login.xml
个{{1}}。
答案 1 :(得分:1)
试试这个..
public void addButtonListener()
{
Button login=(Button)findViewById(R.id.button1);
editText1=(EditText)findViewById(R.id.editText1);
login.setOnClickListener(new OnClickListener(){
public void onClick(View v){
if(validationSuccess(editText1.getText().toString().trim())){
Intent intent = new Intent(Klogin.this, Login.class);
startActivity(intent);
}
}
});
}
和
private Boolean validationSuccess(String value)
{
if(!value.equals("VISTEON"))
{
alertDialog();
return false;
}
return true;
}
答案 2 :(得分:0)
首先,您没有设置visteon
变量。这只需要一个字符串。
然后,当用户输入值时,您需要从editText1
获取字符串,然后使用equals
检查它是否正确。 ==
运算符将检查对象的相等性,而不是它们的值。
答案 3 :(得分:0)
你想要的是if(editText1.getText().toString().equals("VISTEON"))
。