簡體   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