gpt4 book ai didi

android - 在Listview中动态更改(List item)TextView的颜色

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:39:15 24 4
gpt4 key购买 nike

我正在使用如下文件名 browse.xml 中所示的 ListView。

<ListView
android:id="@+id/listView1"
android:layout_width="250dp"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_below="@+id/relativeLayout1" >

</ListView>

我将这个 listView 填充到 onCreate() 方法中:

files1=new ArrayList<String>();
File sdcard=Environment.getExternalStorageDirectory();
files1 = getListFiles(new File(sdcard.getAbsolutePath()+File.separatorChar));
ArrayAdapter<String> fileList =new ArrayAdapter<String>(this, R.layout.row,files1);

setListAdapter(fileList);

row.xml如下所示:

<?xml version="1.0" encoding="utf-8"?>
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/rowtext"
android:layout_width="fill_parent"
android:layout_height="40dp"
android:textSize="20dp"
android:textColor="#000000"
android:background="#FFFFFF"/>

整个程序是在 listView 中显示 sdcard 的所有文件,单击任何列表项时,将该文件名保存到 sharedPrefernce 中。现在我想更改 ListView 中文件名(列表项)的文本颜色SharedPrefernce 中有哪些..

[编辑]:这里使用 ArrayAdapter 默认构造函数列出 ListView 中的所有项目

请给我一些建议..谢谢..

最佳答案

我们可以在 Adapter 的 getView() 中动态更改列表项的文本颜色。

public View getView(int position, View convertView, ViewGroup parent) {
View row = convertView;

if (row == null) {
row = LayoutInflater.from(parent.getContext()).inflate(R.layout.row, null);
}

TextView listTitle = (TextView) row.findViewById(R.id.rowtext);
listTitle.setTextColor(Color.parseColor("#405478"));

return listTitle;
}

关于android - 在Listview中动态更改(List item)TextView的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9679171/

24 4 0
文章推荐: javascript - 段落在底部淡出
文章推荐: android - 首选项列表仅显示第一个元素
文章推荐: android - 将 ArrayList 从 BroadCastReceiver 发送到 Activity