以编程方式添加TextView,但文本颜色变为灰色,如禁用

时间:2015-06-11 09:22:07

标签: android colors textview

为什么我的textview会自动将颜色更改为灰色,就像我以编程方式添加颜色时一样?我确信我的布局中没有将任何颜色设置为灰色。

这是我以编程方式添加textview的代码:

LayoutInflater inflater = (LayoutInflater) getActivity().getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View chat = inflater.inflate(R.layout.chat_list_item, null);
((TextView)chat.findViewById(R.id.chat_name)).setText(obj.getString("username"));
LinearLayout container = (LinearLayout) getActivity().findViewById(R.id.chat_list);
container.addView(chat);

这是我的布局项目:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="vertical"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
    >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:weightSum="10"
        android:orientation="horizontal"
        android:id="@+id/chat_view"
        android:clickable="true"
        >

        <ImageView
            android:layout_width="0dp"
            android:layout_height="80dp"
            android:layout_weight="2"
            android:id="@+id/chat_propic"
            android:scaleType="fitCenter"
            android:src="@drawable/face"
            />

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="fill_parent"
            android:layout_weight="8"
            android:paddingLeft="10dp"
            android:weightSum="3"
            android:orientation="vertical"
            >
            <!-- name and last message-->
            <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="0dp"
                android:layout_weight="1"
                android:weightSum="10"
                android:orientation="horizontal"
                >

                <TextView
                    android:layout_width="0dp"
                    android:layout_height="fill_parent"
                    android:layout_weight="7"
                    android:gravity="bottom"
                    android:id="@+id/chat_name"
                    android:text="UserNAMEEEE"
                    android:textStyle="bold"
                    />

                <TextView
                    android:layout_width="0dp"
                    android:layout_height="fill_parent"
                    android:layout_weight="3"
                    android:gravity="bottom"
                    android:id="@+id/chat_time"
                    android:text="30/05/2015"
                    />
            </LinearLayout>

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="0dp"
                android:layout_weight="2"
                android:gravity="center|left"
                android:id="@+id/chat_message"
                android:text="asjkdgaksgkdagskdakjsdhklahskld"
                />

            <View
                android:layout_height="1dp"
                android:layout_width="fill_parent"
                android:layout_marginTop="10dp"
                android:layout_marginBottom="10dp"
                android:background="#ff828282"
                />
        </LinearLayout>

    </LinearLayout>

</LinearLayout>

2 个答案:

答案 0 :(得分:1)

您可以在创建TextView

后添加一行
chat.setTextAppearance(context, android.R.style.TextAppearance_DeviceDefault);

答案 1 :(得分:0)

可能不行,但我记得我的朋友有类似的问题,我告诉他:“激活”textView。

chat.setActivated(TRUE);

“TRUE”可能有误,可能有类似View.ACTIVATED之类的东西,请自行测试一下:)

如果您需要其他任何内容以及是否有效,请告诉我。