Мое приложение печатает символы в пользовательском представлении, и я могу установить цвет напечатанных символов с помощью следующих параметров:
public void setColor(){
curColor++;
int NUMBEROFCOLORS = 5;
curColor = curColor % (NUMBEROFCOLORS -1);
switch(curColor){
case 0:
paintTxt.setColor(Color.GREEN);
break;
case 1:
paintTxt.setColor(Color.BLUE);
break;
case 2:
paintTxt.setColor(Color.RED);
break;
case 3:
paintTxt.setColor(Color.YELLOW);
break;
case 4:
paintTxt.setColor(Color.MAGENTA);
break;
case 5:
paintTxt.setColor(Color.WHITE);
break;
}
}
А затем используйте его для метода onClick кнопки:
colorChanger.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
myCustomView.setColor(); //this changes the color of chars that are being printed to the custom view
// myEditText.setText(myCustomView.getColor()); // This doesnt do anything
}
}
);
}
ниже работает нормально, однако я бы также напечатал текущий цвет в EditText. Скажите, когда установлен белый, напечатайте что-то вроде «Текущий цвет: Белый» и так далее.
Я могу использовать что-то вроде:
myEditText.setText(myCustomView.getColor());
Это не работает. Я знаю, что делаю не так, как должно, все еще начинающий.
создание геттера, вызывающего указанный выше код, приводит к сбою приложения:
public int getColor() {
return curColor;
}
Лог:
E / AndroidRuntime: FATAL EXCEPTION: main
Процесс: com.esqmo.apps.digitalraineffects, PID: 11373
android.content.res.Resources $ NotFoundException: строковый идентификатор ресурса # 0x1
Пожалуйста, посоветуйте мне понять, как я могу этого достичь.