Как исправить "Ошибка: ';'Ожидается "или" Ошибка: ')' Ожидается "и ошибки в логическом - PullRequest
0 голосов
/ 10 февраля 2019

Я пытаюсь создать проверку для текста редактирования ExpenseName и ExpenseCost, чтобы, если пользователь не вводил данные, он предупреждал пользователя о вводе некоторых данных, и в «тексте» в логическом значении также была ошибка, так какцвет красный.Я скопировал код из другого .java, так что я почти уверен, что он отлично работает

package com.example.back4app.userregistrationexample.Classes;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

import com.example.back4app.userregistrationexample.R;

public class ExpenseActivity extends AppCompatActivity {

private EditText ExpenseName;
private EditText ExpenseCost;

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

    ExpenseName = (EditText) findViewById(R.id.txt_expensename);
    ExpenseCost = (EditText) findViewById(R.id.txt_expensecost);

    final Button btn_addexpense = findViewById(R.id.btn_addexpense);
        btn_addexpense.setOnClickListener(new View.OnClickListener()); {
            @Override
            public void onClick(View v) {
                //Validating the log in data
                boolean validationError = false;

                StringBuilder validationErrorMessage = new StringBuilder("Please, insert ");
                if (isEmpty(ExpenseCost)) {
                    validationError = true;
                    validationErrorMessage.append("the cost of the expense");
                }
                if (isEmpty(ExpenseName)) {
                    if (validationError) {
                        validationErrorMessage.append(" and ");
                    }
                    validationError = true;
                    validationErrorMessage.append("the name of the expense");
                }
            }
        }

    private boolean isEmpty(EditText text) {
        if (text.getText().toString().trim().length() > 0) {
            return false;
        } else {
            return true;
        }
    }
}
}

Я пытался поместить '(' и ')' вне "текста", но он по-прежнему красный цвет,и я также попытался изменить "isEmpty" на любое другое имя, потому что, возможно, он читает на другом .java, но все же происходит то же самое.Кроме того, я попытался перестроить проект и очистить проект, но ничего не получилось, также я попытался сделать недействительными кэши / перезапустить, потому что я читал, что кто-то сказал, что для Android нередко возникают подобные ошибки.Есть проблема с моим кодом?

РЕДАКТИРОВАТЬ:

Хорошо.Поэтому я закрыл OnClickListener, но теперь больше "error: ';'Ожидается "появился и" OnClickListener 'является абстрактным; не может быть создан экземпляр "

Ответы [ 2 ]

0 голосов
/ 10 февраля 2019

Вы не закрыли onCreate или setOnClickListener в коде, который вы разместили.

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

    ExpenseName = (EditText) findViewById(R.id.txt_expensename);
    ExpenseCost = (EditText) findViewById(R.id.txt_expensecost);

    final Button btn_addexpense = findViewById(R.id.btn_addexpense);
    btn_addexpense.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
                //Validating the log in data
                boolean validationError = false;

               StringBuilder validationErrorMessage = new StringBuilder("Please, insert ");
                if (isEmpty(ExpenseCost)) {
                    validationError = true;
                    validationErrorMessage.append("the cost of the expense");
                }
                if (isEmpty(ExpenseName)) {
                    if (validationError) {
                        validationErrorMessage.append(" and ");
                    }
                    validationError = true;
                    validationErrorMessage.append("the name of the expense");
                }
        }
    }); // here
}

private boolean isEmpty(EditText text) {
    if (text.getText().toString().trim().length() > 0) {
        return false;
    } else {
        return true;
    }
}
0 голосов
/ 10 февраля 2019

Я почти уверен, что это потому, что ваш .setOnClickListener не закрыт.

  final Button btn_addexpense = findViewById(R.id.btn_addexpense);
    btn_addexpense.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //Validating the log in data
            boolean validationError = false;

            StringBuilder validationErrorMessage = new StringBuilder("Please, insert ");
            if (isEmpty(ExpenseCost)) {
                validationError = true;
                validationErrorMessage.append("the cost of the expense");
            }
            if (isEmpty(ExpenseName)) {
                if (validationError) {
                    validationErrorMessage.append(" and ");
                }
                validationError = true;
                validationErrorMessage.append("the name of the expense");
            }
        }
    });    //add a parentheses and semicolon to close the onClickListener
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...