更改android.R.layout.simple_list_item_2中的文本颜色

EGH*_*HDK 8 java xml android simpleadapter

我正在使用一个简单的适配器来显示我的代码.不幸的是,我需要更改顶部的textView颜色.

这是我的代码片段:

// Keys used in Hashmap
String[] from = { "txt1", "txt2" };
// Ids of views in listview_layout
int[] ids = { android.R.id.text1, android.R.id.text2 };
SimpleAdapter adapter = new SimpleAdapter(this, aList,
android.R.layout.simple_list_item_2, from, ids);
setListAdapter(adapter);
Run Code Online (Sandbox Code Playgroud)

我试图创建自己的simple_list_item_2,但由于某种原因,它不允许我在xml中更改textView的颜色.关于如何做到这一点的任何想法?

我最后的想法是:

findViewById(android.R.id.text1).setTextColor(#000) 但我不知道放在哪里,我的十六进制代码不起作用.

Bla*_*elt 17

你必须从SimpleAdapter覆盖getView.例如:

SimpleAdapter adapter = new SimpleAdapter(this, aList,
            android.R.layout.simple_list_item_2, from, ids) {

        public View getView(int position, View convertView, ViewGroup parent) {
            View view = super.getView(position, convertView, parent);
            TextView text1 = (TextView) view.findViewById(android.R.id.text1);
            text1.setTextColor(Color.RED);
            return view;
        };
    };
Run Code Online (Sandbox Code Playgroud)

  • @Jeremy如果你用colors.xml中定义的颜色替换Color.RED,你会再次分开关注点. (2认同)

FD_*_*FD_ 1

为您的项目创建自定义 xml 布局并使用属性ListView设置文本颜色:TextViewtextColor

<TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="TextView"
            android:textColor="#ff0000" />
Run Code Online (Sandbox Code Playgroud)