setOnClickListener Android Studio (создание счетчика) - PullRequest
1 голос
/ 13 марта 2020

Я хочу сделать счетчик в Android Studio. К сожалению, Android Studio говорит: "Не удается разрешить метод 'setNumber (?)'" . Значит, он не может каким-то образом использовать этот метод?

Может быть, вы мне поможете. Я почти уверен, что это небольшая ошибка, но я не могу ее найти.

package com.example.tournastat;

import android.content.Context;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.TextView;

import androidx.annotation.Nullable;

public class pointsCompound extends LinearLayout {
    private Button minButton;
    private Button plusButton;
    private TextView numberEditText;

    public pointsCompound(Context context) {
        super(context);
        initViews(context);
    }

    public pointsCompound(Context context, @Nullable AttributeSet attrs) {
        super(context, attrs);
        initViews(context);
    }

    public pointsCompound(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        initViews(context);
    }

    public pointsCompound(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
        super(context, attrs, defStyleAttr, defStyleRes);
        initViews(context);
    }

    public void initViews(Context context) {
        LayoutInflater inflater = LayoutInflater.from(context);
        inflater.inflate(R.layout.points_compound, this, true);

        minButton = findViewById(R.id.minButton);
        numberEditText = findViewById(R.id.numberEditText);
        plusButton = findViewById(R.id.plusButton);

        minButton.setOnClickListener (new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                setNumber(getNumber() -1);
            }
        });

        plusButton.setOnClickListener (new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                setNumber(getNumber() +1);
            }
        });

        public void setNumber (int number) {
            numberEditText.setText("" + number);
        }

        public int getNumber() {
            String text = numberEditText.getText().toString();
            return text;
        }
    }
}

(Это скриншот моего XML дизайна: https://prnt.sc/rfsase)

Надеюсь, кто-нибудь может мне помочь!

1 Ответ

3 голосов
/ 13 марта 2020

Переместите ваш метод setNumber и getNumber из области действия initViews. Это внутри {} скобок.

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