我想更改listview上的文本颜色,我发现我应该在xml中使用和costumlayout完成。但当我尝试它时,它让我的应用程序崩溃。
这是我的活动:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/table_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/background"
android:orientation="vertical"
tools:context="com.example.wowquiz.Scoreboard"
tools:ignore="MergeRootFrame" >
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/abc_action_bar_title_text_size"
android:layout_marginTop="@dimen/abc_action_bar_title_text_size"
android:background="@drawable/vraagbackground"
android:gravity="center"
android:text="@string/highscore"
android:textColor="@color/white"
android:textSize="@dimen/sp" />
<RelativeLayout
android:id="@+id/list"
android:layout_width="wrap_content"
android:layout_height="244dp" >
<ListView
android:id="@+id/listViewScores"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_margin="@dimen/abc_action_bar_title_text_size"
android:background="@drawable/vraagbackground"
android:dividerHeight="1dp"
android:gravity="center"
android:textColor="@color/white" >
</ListView>
</RelativeLayout>
<Button
android:id="@+id/button1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/abc_action_bar_title_text_size"
android:background="@drawable/restartbutton"
android:onClick="Back" />
这是我的.java
public void readScore() {
final List<String> scores = db.getScoreNames();
db.getMin();
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
R.layout.Costumlayout, android.R.id.text1, scores);
final ListView listViewScores = (ListView) findViewById(R.id.listViewScores);
listViewScores.setAdapter(adapter);
}
这是我的costumlayout.xml:
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/listTextView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="@color/white"
/>
我只希望颜色为白色,以使其更具可读性。
提前致谢
答案 0 :(得分:0)
您为布局提供的android:id
不正确。
在此处创建ArrayAdapter
:
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
R.layout.Costumlayout, android.R.id.text1, scores);
您告诉适配器要查找ID为 TextView
android.R.id.text1
但是,在您的XML布局中,您已经为TextView
ID R.id.listTextView
提供了不匹配的内容。
如果您将XML更改为以下内容,则应该可以正常工作。
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="@color/white"
/>