在ListView中更改文本的颜色可以通过自定义适配器来实现。以下是一个示例代码:
<ListView
android:id="@+id/listView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:divider="@android:color/darker_gray"
android:dividerHeight="1dp" />
public class CustomAdapter extends ArrayAdapter<String> {
private Context mContext;
private List<String> mData;
private int mTextColor;
public CustomAdapter(Context context, List<String> data, int textColor) {
super(context, 0, data);
mContext = context;
mData = data;
mTextColor = textColor;
}
@NonNull
@Override
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
if (convertView == null) {
convertView = LayoutInflater.from(mContext).inflate(android.R.layout.simple_list_item_1, parent, false);
}
TextView textView = convertView.findViewById(android.R.id.text1);
textView.setText(mData.get(position));
textView.setTextColor(mTextColor);
return convertView;
}
}
ListView listView = findViewById(R.id.listView);
List<String> data = new ArrayList<>();
data.add("Item 1");
data.add("Item 2");
data.add("Item 3");
CustomAdapter adapter = new CustomAdapter(this, data, Color.RED);
listView.setAdapter(adapter);
在上述代码中,CustomAdapter的构造函数接收一个颜色参数mTextColor,通过调用textView.setTextColor(mTextColor)来设置文本颜色。在Activity中创建CustomAdapter实例时,传入所需的颜色值即可。
这样,ListView中的文本颜色就会根据传入的颜色值进行更改。
领取专属 10元无门槛券
手把手带您无忧上云