【问题标题】:Change Text color for Listview in Tabbed Fragment在选项卡式片段中更改 Listview 的文本颜色
【发布时间】:2017-02-05 08:53:42
【问题描述】:

我用 viewpager 创建了一个选项卡式片段。有一个简单的列表视图来显示 farg1 中的数据。但是文本的颜色是白色的。怎么改成黑色。 listview 没有给 Textcolor 属性设置。 以下是应用于片段的片段主题代码:

<style name="FragTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
        <item name="android:textColor">#000000</item>
        <item name="preferenceTheme">@style/PreferenceThemeOverlay.v14.Material</item>
        <!--   <item name="preferenceTheme">@style/PreferenceThemeOverlay</item>-->
    </style>

下面是布局xml的代码:

<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:orientation="vertical">

        <TextView
            android:id="@+id/tex1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Recently Used Mobile Number List "
            android:textSize="15sp" />

        <ListView
            android:id="@+id/targetlist" 
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />

    </LinearLayout>

目前将背景设置为黑色以使其可读。

【问题讨论】:

    标签: java android listview fragment textcolor


    【解决方案1】:

    您可以创建 list_textview.xml 并在其中定义颜色。

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:gravity="center_vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">
    
        <TextView
            android:id="@+id/list_content"
            android:textColor="#000000"
            android:gravity="center"
            android:text="sample"
            android:layout_margin="4dip"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
        />
    </LinearLayout>
    

    在适配器中使用相同的xml,而不是使用android.R.layout.simple_list_item_1

    arrayAdapter = new ArrayAdapter(getActivity(),R.layout.list_textview, R.id.list_content,recentlistarray); 
    recentlist.setAdapter(arrayAdapter);
    

    ArrayAdapter adapter=new ArrayAdapter(
                this, android.R.layout.simple_list_item_1, listItems){
    
            @Override
            public View getView(int position, View convertView, ViewGroup parent) {
                View view =super.getView(position, convertView, parent);
    
                TextView textView=(TextView) view.findViewById(android.R.id.text1);
                textView.setTextColor(Color.BLACK);
    
                return view;
            }
        };
        recentlist.setAdapter(arrayAdapter);
    

    【讨论】:

    • 你的意思是要使用的自定义列表视图。
    • 不是真的不是自定义列表视图,我们只是更改为其添加文本的布局文件。您将没有任何其他直接属性来设置文本颜色。
    • 有一种方法可以让您在适配器类的 listview 中使用 textview 并为其设置颜色。
    • arrayAdapter = new ArrayAdapter(getActivity().getApplicationContext(), android.R.layout.simple_list_item_1, recentlistarray);最近列表.setAdapter(arrayAdapter);我就是这样设置的。我没有得到 setListAdapter 方法。
    • listview.setadapter(arratAdapter);
    猜你喜欢
    • 2016-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-20
    • 1970-01-01
    相关资源
    最近更新 更多