Android Spinner executeClick не расширяет счетчик, когда пользовательский TextView видим - PullRequest
0 голосов
/ 27 июня 2018

У меня есть собственный текстовый вид в моем макете

public class CircularTextView extends AppCompatTextView {

    private float strokeWidth;
    private int strokeColor;
    private int solidColor;

    public CircularTextView(Context context) {
        super(context);
    }

    public CircularTextView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public CircularTextView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }


    @Override
    public void draw(Canvas canvas) {

        Paint circlePaint = new Paint();
        circlePaint.setColor(solidColor);
        circlePaint.setFlags(Paint.ANTI_ALIAS_FLAG);

        Paint strokePaint = new Paint();
        strokePaint.setColor(strokeColor);
        strokePaint.setFlags(Paint.ANTI_ALIAS_FLAG);

        int  h = this.getHeight();
        int  w = this.getWidth();

        int diameter = ((h > w) ? h : w);
        int radius = diameter/2;

        this.setHeight(diameter);
        this.setWidth(diameter);

        canvas.drawCircle(diameter / 2.0f , diameter / 2.0f, radius, strokePaint);

        canvas.drawCircle(diameter / 2.0f, diameter / 2.0f, radius-strokeWidth, circlePaint);

        super.draw(canvas);
    }

    public void setStrokeWidth(int dp)
    {
        float scale = getContext().getResources().getDisplayMetrics().density;
        strokeWidth = dp*scale;

    }

    public void setStrokeColor(String color)
    {
        strokeColor = Color.parseColor(color);
    }

    public void setSolidColor(String color)
    {
        solidColor = Color.parseColor(color);

    }

}

вместе со счетчиком (может предоставить подробную информацию о макете, если требуется). Я установил адаптер блесны следующим образом:

        spinnerFavBrand = view.findViewById(R.id.spinnerFavBrand);
        final ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_item, brandNameList);
        dataAdapter.setDropDownViewResource(R.layout.simple_spinner_dropdown_item);
        spinnerFavBrand.setAdapter(dataAdapter);

Я расширяю счетчик, используя executeClick () в onClick () кнопки.

ibEditFavBrand.setOnClickListener(v -> spinnerFavBrand.performClick());

Когда CircularTextView скрыт, спиннер открывается нормально, но когда я устанавливаю видимость CircularTextView видимым, я все равно могу получить событие click в методе onClick () кнопки, но executeClick (), похоже, не действует Теперь.

...