0

ListViewxmlファイルを変更する代わりに、プログラムでテキストの配置を変更しようとしています。

これが私の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をスローしています。理由はわかりません。誰かがここにいくつかのアイデア/解決策を投げることができますか?

4

1 に答える 1

0

textViewRowListは、そのリスト内のすべてのアイテムに存在します。プロパティを変更する場合は、で行うAdapter必要getViewがあります。つまり、カスタムアダプターを作成する必要があります。

于 2013-01-24T00:09:14.480 に答える