繁体   English   中英

如果语句有效,为什么这不起作用?

[英]Why doesn't this if statement work?

我正在尝试创建一个if语句,例如,如果用户未在两个编辑文本中键入任何内容,那么它将显示一个吐司并重置所有内容。 但是由于某种原因,我的代码完全忽略了这一点,只是转到了else语句。

有人可以帮忙吗?

我的代码:com.gta5news.bananaphone包;

import java.io.File;

import android.R.string;
import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.os.Environment;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

 public class LogIn extends Activity implements OnClickListener {
Button send;
EditText user;
EditText pass;
CheckBox staySignedIn;
SharedPreferences shareduser;
SharedPreferences sharedpass;
public static String settings = "MySharerdUser";

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.login);
    send = (Button) findViewById(R.id.bLogIn);
    user = (EditText) findViewById(R.id.eTuser);
    pass = (EditText) findViewById(R.id.eTpassword);
    staySignedIn = (CheckBox) findViewById(R.id.Cbstay);
    send.setOnClickListener(this);
    SharedPreferences settings = getPreferences(MODE_PRIVATE);
    String name = settings.getString("name", "");
    String password = settings.getString("pwd", "");
    user.setText(name);
    pass.setText(password);

    if (staySignedIn.isChecked()) {
        SharedPreferences MySharedUser = getPreferences(MODE_PRIVATE);
        settings.edit().putString("name", user.getText().toString())
                .putString("pwd", pass.getText().toString()).commit();
    }

    if (user.length() > 0)
        ;

}

public void onClick(View v) {
    // TODO Auto-generated method stub
    switch (v.getId()) {
    case R.id.bLogIn:
        if (user.length() < 0)  
    Toast.makeText(this,
            "Try to type in your username and password again!",
            Toast.LENGTH_LONG).show(); 
    else {
        String u = user.getText().toString();
        String p = pass.getText().toString();
        Bundle send = new Bundle();
        send.putString("key", u);
        send.putString("key", p);
        Intent a = new Intent(LogIn.this, FTPClient.class);
        startActivity(a);
        Toast.makeText(this, "Yay, you signed in!", Toast.LENGTH_LONG)
                .show();
        break;
    }
    }

}

}

 if (user.length() == 0)  

尝试一下,因为user.length()永远不会小于Zero

你必须用

user.getText().toString().length()

您是否需要一个onClickListener复选框???

checkbox.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
    // Perform action on clicks, depending on whether it's now checked
    if (((CheckBox) v).isChecked()) {
        Toast.makeText(HelloFormStuff.this, "Selected", Toast.LENGTH_SHORT).show();
    } else {
        Toast.makeText(HelloFormStuff.this, "Not selected", Toast.LENGTH_SHORT).show();
    }
}

});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM