我是Android Studio的新手,我一直在创建一个登录表单以打开系统设置。
我已经制作了表格,并在按下按钮后弹出表格。但是,出于某种原因,该表单始终会接受输入的详细信息,并始终以“登录成功”弹出。.
过去两天来我一直在网上寻找错误的地方,但是我似乎无法在代码中找到我犯错的地方?
我已经有了打开设置页面的代码,但是我删除了它只是为了向您展示我的所有代码。 (我已经测试了开放系统设置部分,并且工作正常)。
这是我的代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ImageButton mShowDialog = (ImageButton) findViewById(R.id.btnShowDialog);
mShowDialog.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view){
AlertDialog.Builder mBuilder = new AlertDialog.Builder(MainActivity.this);
View mView = getLayoutInflater().inflate(R.layout.dialog_login, null);
final EditText mUsername = (EditText) mView.findViewById(R.id.etUsername);
final EditText mPassword = (EditText) mView.findViewById(R.id.etPassword);
Button mLogin = (Button) mView.findViewById(R.id.btnLogin);
mLogin.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view_) {
if(!mUsername.getText().toString().equals("admin") && !mPassword.getText().toString().equals("admin")){
Toast.makeText(MainActivity.this,
getString(R.string.success_login_msg),
Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(MainActivity.this,
getString(R.string.error_login_msg),
Toast.LENGTH_SHORT).show();
}
}
});
我猜我在某个地方出了错,但是如果有人可以告诉我为什么会这样,那太好了。
谢谢。
答案 0 :(得分:3)
我希望这对您有用。
使用
public static void main(String[] args) {
List<Integer> values = Arrays.asList(3, 3, 5, 5, 5, 6, 3, 3);
BiPredicate<Integer, Integer> predicate = (value1, value2) -> value1.equals(value2);
Supplier<BiConsumer<LinkedList<ValueCount>, Integer>> accumulator =
() -> (list, value) -> {
if (list.isEmpty() || !predicate.test(list.getLast().getFirstValue(), value)) {
list.add(new ValueCount());
}
list.getLast().add(value);
};
Supplier<BiConsumer<LinkedList<ValueCount>, LinkedList<ValueCount>>> combiner = () -> (list1, list2) -> {
if (list1.getLast().getFirstValue().equals(list2.getFirst().getFirstValue())) {
list1.getLast().addAll(list2.getFirst());
list2.removeFirst();
}
list1.addAll(list2);
};
values.stream().collect(LinkedList::new, accumulator.get(), combiner.get())
.forEach(group -> System.out.println(group));
}
private static class ValueCount {
private List<Integer> lista = new ArrayList<>();
public String toString() { return "[" + lista.get(0) + "-" + lista.size() + "]";}
public void add(Integer value) { lista.add(value);}
public Integer getFirstValue() { return lista.get(0);}
public void addAll(ValueCount first) { lista.addAll(first.getAll());}
private Collection<? extends Integer> getAll() { return lista;}
}
装有
if(mUsername.getText().toString().equals("admin") && mPassword.getText().toString().equals("admin")){
从if条件中删除!