Адаптер Java RecyclerView неправильно раскрашивает 14-й элемент, независимо от значений переменныхAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Гость
 Адаптер Java RecyclerView неправильно раскрашивает 14-й элемент, независимо от значений переменных

Сообщение Гость »


У меня есть таблица лидеров, в которой ваше имя окрашивается в зависимости от вашего ранга. На каждые потраченные 10 евро — новый цвет. Последний ранг — градиентный цвет. Раскрашивает все как надо, кроме 14-го пункта (позиция 13). Это дает ему градиентный цвет независимо от ранга, имени, количества предметов или чего-либо еще. Вот мой адаптер:

пакет com.miskolin.app; импортировать android.content.Context; импортировать android.graphics.Color; импортировать android.graphics.LinearGradient; импортировать android.graphics.Shader; импортировать android.graphics.Typeface; импортировать android.text.TextPaint; импортировать android.util.Log; импортировать android.view.LayoutInflater; импортировать android.view.ViewGroup; импортировать android.widget.TextView; импортировать androidx.annotation.NonNull; импортировать androidx.recyclerview.widget.RecyclerView; импортировать org.w3c.dom.Text; импортировать java.util.List; публичный класс MyAdapter расширяет RecyclerView.Adapter { Контекстный контекст; Список элементов ; public MyAdapter (Контекст контекста, элементы List) { this.context = контекст; this.items = предметы; } @NonNull @Override public MyViewHolder onCreateViewHolder(@NonNull ViewGroup родительский, int viewType) { вернуть новый MyViewHolder(LayoutInflater.from(context).inflate(R.layout.item_view,parent,false)); } @Override public void onBindViewHolder(@NonNull MyViewHolder Holder, int Position) { Holder.user.setText(items.get(position).getUser()); Holder.total.setText(items.get(position).getTotalSpent()); Целочисленный ранг = items.get(position).getLeadersRank(); int[][] RankColors = { { context.getResources().getColor(R.color.Rank0), // Ранг 0 context.getResources().getColor(R.color.Rank1), // Ранг 1 context.getResources().getColor(R.color.Rank2), // Ранг 2 context.getResources().getColor(R.color.Rank3), // Ранг 3 context.getResources().getColor(R.color.Rank4), // Ранг 4 context.getResources().getColor(R.color.Rank5), // Ранг 5 context.getResources().getColor(R.color.Rank6), // Ранг 6 context.getResources().getColor(R.color.Rank7) , // Ранг 7 context.getResources().getColor(R.color.Rank8) // Ранг 8 }, { context.getResources().getColor(R.color.Rank9c1), context.getResources().getColor(R.color.Rank9c2), context.getResources().getColor(R.color.Rank9c3) } }; if (rank >= RankColors[0].length) { Log.d("Отладка", "Использование LinearGradient для элемента в позиции " + позиция); TextPaint краска = Holder.user.getPaint(); Шейдер шейдер = новый LinearGradient(0, 100, 3, 20, RankColors[1], null, Shader.TileMode.CLAMP); Paint.setShader(шейдер); Holder.user.setTextColor(rankColors[0][0]); } еще { for (int i = 0; i
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»