2013-01-24 79 views
0

我試圖以編程方式更改ListView中文本的對齊方式,而不是更改xml文件。以編程方式訪問rowlistview

這裏是我的row_listview.xml

<?xml version="1.0" encoding="utf-8"?> 
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/textViewRowList" 
    android:layout_height="?android:attr/listPreferredItemHeight" 
    android:layout_width="fill_parent" 
    android:textSize="20sp" 
    android:paddingLeft="6dip" 
    android:paddingRight="6dip" 
    android:gravity="left" 
    android:textColor="#330033" 
    android:textStyle="bold"/> 

而且activity_main.xml有以下ListView有定義

<ListView 
    android:id="@+id/listView1" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:divider="@null" 
    android:dividerHeight="0dp" 
    tools:listitem="@android:layout/simple_list_item_1" 
    android:background= "#FF6600"> 
</ListView> 

所以在我mainactivity.java我想在運行時更改列表視圖文本的對齊用戶點擊時關於我的活動的按鈕

private ListView lv; 
private TextView tvRowListView; 
lv.setAdapter(new ArrayAdapter<String>(this,R.layout.row_listview, sampleStringArray)); 
tvRowListView = (TextView) findViewById(R.id.textViewRowList); 
tvRowListView.setGravity(Gravity.CENTER); 

然而,上面的最後一行是拋出nullpointerexception。我不知道爲什麼。有人可以在這裏提出一些想法/解決方案

回答

0

您textViewRowList存在該列表中的每一個項目,如果你想改變它,你將需要做的是在AdaptergetView這意味着你將需要自定義適配器

+0

由於性能。我可以在討論客戶適配器問題的論壇中獲得更多的問題。我想我現在知道我的問題的出路。 – user1938357