0

我正在处理应用程序的登录页面。我想将硬编码值与 username ,密码作为输入进行比较。当前使用的代码行是:

    usr = (EditText) findViewById(R.id.usr);   
      pwd = (EditText) findViewById(R.id.pwd);    
     error = (TextView) findViewById(R.id.tv_error);     
    String n1="i077653" ;  
      if(n1.equals(usr.getText().toString()) && pwd.equals("1234"))    
     {          error.setText("login success");     }         
     else     {      error.setText("LOGIN failed");         }
 .

但它不起作用。你能为此提出一个解决方案吗?

完整代码: XML 文件:

XML file :<RelativeLayout 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:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:background="#FF6633"
        android:paddingLeft="60dp"
        android:paddingRight="100dp"
        android:text="@string/SA" />

    <TextView
        android:id="@+id/tv_pw"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/pwd"
        android:layout_alignBottom="@+id/pwd"
        android:layout_alignLeft="@+id/tv_un"
        android:text="Password:"
        android:textColor="#444444"
        android:textSize="7pt" />

    <TextView
        android:id="@+id/tv_un"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/usr"
        android:layout_alignBottom="@+id/usr"
        android:layout_alignParentLeft="true"
        android:text="User Name:"
        android:textColor="#444444"
        android:textSize="7pt" />

    <EditText
        android:id="@+id/usr"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/btn_login"
        android:layout_below="@+id/textView1"
        android:layout_marginTop="20dp"
        android:ems="7"
        android:hint="@string/User" >

        <requestFocus />
    </EditText>

    <EditText
        android:id="@+id/pwd"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/usr"
        android:layout_below="@+id/usr"
        android:layout_marginTop="18dp"
        android:ems="7"
        android:hint="@string/Pwd"
        android:inputType="textPassword" />

    <Button
        android:id="@+id/btn_login"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/pwd"
        android:layout_marginTop="18dp"
        android:layout_toRightOf="@+id/tv_un"

        android:text="@string/Button" />
<TextView
        android:id="@+id/tv_error"
        android:layout_width="fill_parent"
        android:layout_height="40dip"
        android:textSize="7pt"
        android:layout_alignParentLeft="true"
        android:layout_below="@id/btn_login"
        android:layout_marginRight="9dip"
        android:layout_marginTop="15dip"
        android:layout_marginLeft="15dip"
        android:textColor="#AA0000"
        android:text=""/>



   </RelativeLayout>

Java 文件:

package com.example.survey;

import android.os.Bundle;

import android.app.Activity;
import android.text.Editable;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;


public class MainActivity extends Activity {
    EditText usr ;
    EditText pwd ;
    Button  log;
    TextView error;


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


   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;
    }

    public void  check(View view){
    usr = (EditText) findViewById(R.id.usr);
    pwd = (EditText) findViewById(R.id.pwd);
    error = (TextView) findViewById(R.id.tv_error);
    String n1="i077653" ;


    if(n1.equalsIgnoreCase(usr.getText().toString()) && pwd.equalsIgnoreCase("1234"))    
    {          error.setText("login success");     }         
    else     {      error.setText("LOGIN failed");         }


    }
    }
4

4 回答 4

1

尝试

  if(n1.equalsIgnoreCase(usr.getText().toString()) && pwd.equalsIgnoreCase("1234"))    
     {          error.setText("login success");     }         
     else     {      error.setText("LOGIN failed");         }

但是只有当用户=i077653 AND password=1234 如果你想要“如果用户=i077653 OR password=1234”更改 && 时才阻止登录 ||

于 2013-06-20T09:50:25.620 回答
1

将您的代码更改为:

  if(n1.equals(usr.getText().toString()) && (pwd.getText().toString()).equals("1234"))    

这里 pwd 是编辑文本变量。它包含其引用而不是输入的值。

编辑:()

公共类 MainActivity 扩展 Activity { EditText usr ; 编辑文本密码;按钮日志;文本视图错误;

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


    usr = (EditText) findViewById(R.id.usr);
    pwd = (EditText) findViewById(R.id.pwd);
    error = (TextView) findViewById(R.id.tv_error);
    log=(Button) findViewById(R.id.tv_log);
    String n1="i077653" ;

   log.setOnClickListener(new OnClickListener(){

        @Override
        public void onClick(View v) {

             if(n1.equalsIgnoreCase(usr.getText().toString()) &&(pwd.getText().toString()).equalsIgnoreCase("1234"))   
     { 

     error.setText("login success");     

     }         
     else{

     error.setText("LOGIN failed"); 

     }
    }

   });

    }//end of oncreate
    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;
    }
    }

建议:请按照本教程

于 2013-06-20T09:50:53.873 回答
0
String n1="i077653" ;  
  if(n1.equals(usr.getText().toString()) && pwd.equals("1234"))    
 {          error.setText("login success");     }         
 else     {      error.setText("LOGIN failed");         }

在某些事件(如onclick或其他事件)上尝试此代码

于 2013-06-20T09:52:01.340 回答
0
 if(n1.equals(usr.getText().toString()) && "1234".equals(pwd.getText().toString())){

   // login success
}else{
 ...
}
于 2013-06-20T09:52:55.017 回答