Reputation: 95
I want to make a counter in Android Studio. Unfortunately, Android Studio says: "Cannot resolve method 'setNumber(?)'". So it can't use that method somehow?
Maybe you can help me out. I'm pretty sure it's just a small mistake, but I can't find it.
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;
}
}
}
(This is a screenshot of my XML Design: https://prnt.sc/rfsase)
Hopefully, someone can help me!
Upvotes: 1
Views: 152
Reputation: 37584
Move your method setNumber
and getNumber
out of the scope from initViews
. It's inside the {}
brackets.
Upvotes: 4