比较文本输入以传递代码Android

时间:2014-04-09 15:14:58

标签: android

我正在制作会员卡应用,并且只需要在点击其中一张会员卡时打开新窗口。这个我已经实现了,但是我希望它要求一个密码使忠诚邮票官方,我已经到了打开一个新窗口并询问代码的点,但是当我按下按钮它什么都不做。我确实拥有它,所以当我按下按钮时它会将我送回上一个活动,但现在它甚至不会这样做。

这是要求代码的活动:

package com.example.reloadgamesapp;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.EditText;


public class LoyaltyWindow extends Activity implements OnClickListener, TextWatcher {

private EditText passcode;
String unlock_code = "supern1nja";
int unlock = 0;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    this.setContentView(R.layout.loyalty_window);

    //get Button reference
    View v = findViewById(R.id.code_button);
    //set event listener
    v.setOnClickListener(this); 

    passcode = (EditText) findViewById(R.id.passcode);
    passcode.addTextChangedListener(this);

}

@Override
public void onClick(View arg0) {
    if(arg0.getId() == R.id.code_button && unlock != 0) {
        Intent intent = new Intent(this, MainActivity.class);

        //start
        this.startActivity(intent);
    }
}

@Override
public void afterTextChanged(Editable arg0) {
    String passString = passcode.getText().toString();

    if(passString == unlock_code) {
        unlock = 1;
    } else {
        unlock = 0;
    }
}

@Override
public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,
        int arg3) {
    // TODO Auto-generated method stub

}

@Override
public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {
    // TODO Auto-generated method stub

}

}

我们非常感谢任何帮助,我对此非常陌生。

由于

1 个答案:

答案 0 :(得分:0)

使用passString.equals(unlock_code)比较字符串。所以你的代码应该是这样的:

if(passString.equals(unlock_code)) {
    unlock = 1;
} else {
    unlock = 0;
}

但是我必须警告你,将unlock_code放在应用程序的源代码中会使找到它变得非常简单。拥有合适工具的任何人都可以将APK反编译为Java源代码。

您可以使用finish()返回上一个活动。