我有一个名为incorrectAnswers的arraylist,我想更改该arraylist中那些字符串的文本颜色。
这是我的代码片段:
ArrayList<String> incorrectAnswers = new ArrayList<>();
if(mItemArray.get(0).second.startsWith("In")){
numberOfCorrect++;
numberOfTries++;
} else{
numberOfErrors++;
incorrectAnswers.add(mItemArray.get(0).second);
}
if(mItemArray.get(1).second.startsWith("If")){
numberOfCorrect++;
numberOfTries++;
}
else{
numberOfErrors++;
incorrectAnswers.add(mItemArray.get(1).second);
}
这是布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/item_layout"
android:layout_width="match_parent"
android:layout_height="70dp"
android:orientation="horizontal"
android:gravity="center_vertical"
android:padding="10dp"
android:backgroundTint="@android:color/holo_green_light"
android:layout_marginRight="5dp"
android:layout_marginEnd="5dp"
android:layout_marginBottom="5dp"
android:background="@drawable/border_spinner">
<ImageView
android:id="@+id/image"
android:layout_width="1dp"
android:layout_height="1dp"
android:src="@drawable/ic_abrasion"
android:visibility="invisible"/>
<TextView
android:id="@+id/list_text"
android:layout_width="wrap_content"
android:textSize="16sp"
android:textColor="@color/textColor"
android:layout_height="wrap_content"/>
我想以编程方式更改我在wrongAnswers中添加的项目的文字颜色。我怎样才能做到这一点?
答案 0 :(得分:0)
首先在drawables文件夹中创建一个xml来设置颜色状态: 让我们称之为text_color.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@android:color/holo_red_dark" android:state_selected="true" />
<item android:color="@android:color/holo_green_light" />
</selector>
然后,在布局中使用此xml作为文本颜色:
<TextView
android:id="@+id/list_text"
android:layout_width="wrap_content"
android:textSize="16sp"
android:textColor="@drawable/text_color"
android:layout_height="wrap_content"/>
最后,您必须仅设置具有错误答案的文本视图,如下所示:
TextView textList = (TextView) findViewById(R.id.list_text);
textList.setSelected(true);