繁体   English   中英

Android Studio中如何改变ArrayList元素的颜色

[英]How to change the color of ArrayList elements in Android Studio

我想更改 Array List 元素的颜色。 下面是我的代码

{
                    List<Integer> primeNumbers = new ArrayList<>();
                    String firstNumber = edtFNum.getText().toString();
                    String secondNumber = edt2Num.getText().toString();
                    for (int i = Integer.parseInt(firstNumber); i <= Integer.parseInt(secondNumber); i++) {
                        boolean isPrime = true;
                        for (int j = 2; j <= i / 2; j++) {
                            if (i % j == 0) {
                                isPrime = false;
                                break;
                            }
                        }
                        if (isPrime) {
                            primeNumbers.add(i);

                        }
                    }
                    txtResult.setMovementMethod(new ScrollingMovementMethod());
                    String formattedString = primeNumbers.toString()
                            .replace("[", "")
                            .replace("]", "")
                            .trim();
                    txtResult.setText("Prime numbers between " + firstNumber + " and " + secondNumber + " are: " + formattedString);
            

我想将“之间的质数”的颜色更改为红色,并为 arraylist 的每个项目选择替代颜色,即 ist 元素为蓝色,第二个元素为绿色,依此类推。 感谢您的帮助

使用 spanning 装饰您的文本,例如,对于您的情况,(部分)文本的颜色可以使用ForegroundColorSpan更改,如下所示:

Spannable textToSetAsSpan = new SpannableString("Prime numbers between " + firstNumber + 
    " and " + secondNumber + " are: " + formattedString);        
textToSetAsSpan.setSpan(new ForegroundColorSpan(Color.BLUE), 0, 10, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

textView.setText(textToSetAsSpan);

只需正确计算文本中数字的 position 并调整颜色即可:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM