2011-05-02 113 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以及你的布局。