Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Как обратиться к картинке?


(Игорь Кожин) #1

Есть класс:

 import android.app.Activity;
 import com.firm.R;

 public class ProfileImg extends ImgView {
 	public ProfileImg(Activity context, boolean strtAnim) {
 		super(context, R.drawable.user_button, R.anim.user_anim, strtAnim);
 	}
 }

Подскажите пожалуйста, как с помощью get_что-нибудь обратиться к картинке R.drawable.user_button ?


(Александр Таранков) #2

Например, так?

public class ProfileImg extends ImgView {

    private userButton;

    public ProfileImg(Activity context, boolean strtAnim) {
        this.userButton = R.drawable.user_button
        super(context, this.userButton, R.anim.user_anim, strtAnim);
    }

    public getUserButton() {
        return this.userButton;
    }
}

(Игорь Кожин) #3

Если пишу данную строчку в тексте, то выделяется “userButton” красным с "Cannot resolve symbol ‘userButton’ ".

Сложность в моем случае заключается в том, что к данной картинке мне нужно обратиться из другого класса, а данный класс не static, и сделать static’ом я к сожалению его не могу.


(Sergey Korol) #4

Очевидно ведь, что @joemast просто опустил тип, позволив вам самому указать нужный, потому и подсвечивается красным.

Класс ваш, или вы просто привели код какой-то подключаемой библиотеки? Вообще говоря из кода не ясно, как этот объект вообще формируется. Исходя из конструкции больше походит на то, что класс R содержит в себе статический саб класс drawable со статической переменной user_button внутри. Если так, то какая проблема обратиться к ней напрямую из вашего класса?

Или этой кнопке внутри суперкласса что-то такое сетится, что вы потом хотите достать из другого класса?

Касательно статики: если кнопка действительно статическая, что вам мешает определить статический филд внутри этого класса, присвоеить ему вашу кнопку и создать статический геттер?

Слишком много вопросов, как для такого маленького участка кода. Нужны подробности.