Использование намерения, определенного в attrs.xml, для запуска пользовательского действия. ⇐ Android
Использование намерения, определенного в attrs.xml, для запуска пользовательского действия.
Я расширяю ConstraintLayout, чтобы иметь возможность создавать что-то свое, и хотел бы получить намерение запуска действия из внешнего класса или макета.xml и запустить это действие при нажатии на это настраиваемое представление. Я знаю, как сделать значок и текст атрибутом, но не знаю, как сделать намерение атрибутом. Ниже приводится то, что у меня есть на данный момент. Любая помощь приветствуется.
публичный класс MyGridDelegate расширяет ConstraintLayout реализует View.OnClickListener { частный строковый текст; личный значок Drawable; частная ссылка на намерение; публичный MyGridDelegate (...) { TypedArray a = getContext().obtainStyledAttributes(attrs, R.styleable.MyGridLayoutDelegate, defStyle, 0); Строковый текст = a.getString(R.styleable.MyGridLayoutDelegate_text); Значок Drawable = a.getDrawable(R.styleable.MyGridLayoutDelegate_icon); Ссылка намерения = .....; // *********Намерение отсутствует********* } @Override общественная недействительность onClick (Просмотр v) { // Запускаем какое-либо действие, полученное как атрибут MyGridDelegate.this.startActivity(this.link); } } attrs.xml
layout_main.xml
Я расширяю ConstraintLayout, чтобы иметь возможность создавать что-то свое, и хотел бы получить намерение запуска действия из внешнего класса или макета.xml и запустить это действие при нажатии на это настраиваемое представление. Я знаю, как сделать значок и текст атрибутом, но не знаю, как сделать намерение атрибутом. Ниже приводится то, что у меня есть на данный момент. Любая помощь приветствуется.
публичный класс MyGridDelegate расширяет ConstraintLayout реализует View.OnClickListener { частный строковый текст; личный значок Drawable; частная ссылка на намерение; публичный MyGridDelegate (...) { TypedArray a = getContext().obtainStyledAttributes(attrs, R.styleable.MyGridLayoutDelegate, defStyle, 0); Строковый текст = a.getString(R.styleable.MyGridLayoutDelegate_text); Значок Drawable = a.getDrawable(R.styleable.MyGridLayoutDelegate_icon); Ссылка намерения = .....; // *********Намерение отсутствует********* } @Override общественная недействительность onClick (Просмотр v) { // Запускаем какое-либо действие, полученное как атрибут MyGridDelegate.this.startActivity(this.link); } } attrs.xml
layout_main.xml
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение