繁体   English   中英

setOnClickListener Android Studio(制作计数器)

[英]setOnClickListener Android Studio (making a counter)

我想在 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

希望有人可以帮助我!

将您的方法setNumbergetNumber移出initViews的范围。 它位于{}括号内。

暂无
暂无

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

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