Java конструктор не может быть применен к данным типам Android Studio - PullRequest
1 голос
/ 13 июня 2019

Я довольно новичок в Java, и недавно я застрял на проблеме, я продолжаю получать следующую ошибку:

ошибка: конструктор Пользователь в классе Пользователь не может быть применен к данным типам; требуется: строка найдено: строка, строка, строка, строка причина: фактические и формальные списки аргументов различаются по длине

Я искал похожие проблемы, но, похоже, не могу понять.

Мой конструктор:


import org.w3c.dom.Node;

public class User {
    private String name,address,phoneNumber,emailAddress;

    public User() {
    }

    public User(String name, String address, String phoneNumber, String emailAddress) {
        this.name = name;
        this.address = address;
        this.phoneNumber = phoneNumber;
        this.emailAddress = emailAddress;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;

    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getPhoneNumber() {
        return phoneNumber;
    }

    public void setPhoneNumber(String phoneNumber) {
        this.phoneNumber = phoneNumber;
    }

    public String getEmailAddress() {
        return emailAddress;
    }

    public void setEmailAddress(String emailAddress) {
        this.emailAddress = emailAddress;
    }
}

Моя деятельность по вызову кода

            @Override
            public void onClick(View v) {
                User user = new User(edt_name.getText().toString(),
                        edt_address.getText().toString(),
                        edt_email.getText().toString(),
                        phoneNumber);

Скриншот ошибки он предназначен для принятия входных данных в представления и передачи их в firebase.

Ответы [ 4 ]

1 голос
/ 13 июня 2019

В своей Деятельности (месте, где вы пытаетесь построить User объекты), вы импортировали другой класс User. Найдите строку import com.incorrect.other.User и замените ее собственной import com.myapp.mycode.User.

Подсказка к тому факту, что это происходит, заключается в том, что на снимке экрана показано, что конструктор User ожидает получения String uid, но ни один из двух конструкторов, определенных вами в ваших собственных определениях класса User UID. Таким образом, ваша деятельность должна относиться к некоторому другому User, что означает, что ваш импорт неправильный.

0 голосов
/ 13 июня 2019

Вы должны поставить phoneNumber перед emailAdresse:

 User user = new User(edt_name.getText().toString(),
                    edt_address.getText().toString(),
                    phoneNumber,
                    edt_email.getText().toString());

и убедитесь, что phoneNumer это string, а не int

Редактировать:

После того, как я проверил изображение, которое вы разместили позже, вы не используете свой собственный класс User!убедитесь, что вы импортируете свой собственный User.class

0 голосов
/ 13 июня 2019

Вы создаете экземпляр com.google.firebase.firestore.auth.User, а не свой собственный класс пользователя. Вам просто нужно исправить ваш импорт или позвонить в ваш пакет. Пользователь

0 голосов
/ 13 июня 2019

Создайте функцию наподобие createUser () в функции onClick. Напишите свой код в методе createUser (). Надеюсь, поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...