2011-05-02 501 views
2

嗨,我有一個ListView,我想顯示到AlertDialog中,我有兩個問題:
1.文本顯示在左側,我希望它位於中心
2.要選擇一個項目,您必須精確選擇該行的文本。如何選擇該項目,即使在同一行的文本之外進行選擇也是可能的?
您可以在橙色的亮點是對文本本身只,而不是整行的圖片中看到..:
enter image description here在AlertDialog中自定義ListView

代碼:

的LinearLayout佈局=新的LinearLayout(mContext);

  ListView lv = new ListView(mContext); 

      lv.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, BooksOptions)); 

      Builder alert; 
      alert = new AlertDialog.Builder(this);    

      layout.addView(lv); 
      alert.setView(layout); 
+1

粘貼代碼爲您的佈局simple_list_item_1 – 2011-05-02 16:37:42

回答

2

您正在使用標準的Android列表項目佈局android.R.layout.simple_list_item_1。相反,請根據該佈局創建您自己的項目佈局,並適當地設置屬性。

<TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/text1" android:layout_width="match_parent" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceLarge" android:gravity="center" android:paddingLeft="6dip" android:minHeight="?android:attr/listPreferredItemHeight" />

請注意,你也不能在ListView本身設置佈局屬性。確保你指定它的寬度爲match_parent以及你的佈局。