在AlertDialog中自定义ListView

时间:2011-05-02 16:33:10

标签: android listview

嘿,我有一个我想要显示在AlertDialog中的ListView,我有两个问题:
1.文本显示在左侧,我希望它在中心
2.要选择项目,您必须准确选择行的文本。即使在同一行中的文本外选择,如何选择项目? 您可以在图片中看到橙色突出显示仅在文本本身而不是整行.......
enter image description here

代码:

LinearLayout layout = new 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 个答案:

答案 0 :(得分: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