何らかの理由で、何を変更しても、最後のアイテムの後の余分なスペースを取り除くことができませんListView
。こちらの「項目 3」の下に表示されます。
これは、長いリストを持っていても、最後までプルダウンしても発生します。
レイアウトでmatch_parent
とのすべての組み合わせを試しましたが、成功しませんでした。wrap_content
ここに私のXMLがあります:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
>
<ListView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
これが私のものAlertDialog
です:
private void openMultiItemAlertDialog() {
ArrayList<String> selectedItems = new ArrayList<String>();
ArrayList<CharSequence> itemsList = new ArrayList<CharSequence>();
itemsList.add("item 1");
itemsList.add("item 2");
itemsList.add("item 3");
itemsList.add("item 4");
itemsList.add("item 5");
itemsList.add("item 6");
itemsList.add("item 7");
itemsList.add("item 8");
itemsList.add("item 9");
final CharSequence[] finalItemsList = itemsList.toArray(
new CharSequence[itemsList.size()]);
boolean[] booleanPrimativeArray = new boolean[finalItemsList.length];
checkedItems = new boolean[finalItemsList.length];
selectedItems.clear();
final View view = inflater.inflate(R.layout.dialog_list, null);
AlertDialog.Builder dialog = new AlertDialog.Builder(this);
dialog.setTitle(R.string.dialog_title)
.setView(view)
.setCancelable(true)
.setNegativeButton(R.string.dialog_cancel, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
dialogMultiItem = null;
}
})
.setMultiChoiceItems(finalItemsList, booleanPrimativeArray, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
checkedItems[which] = isChecked;
}
})
.setPositiveButton(R.string.dialog_ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
for (int i = 0; i < checkedItems.length; i++) {
if (checkedItems[i]) {
selectedItems.add((String) finalItemsList[i]);
}
}
doStuffWithSelectedItems(selectedItems);
dialog.dismiss();
dialogMultiItem = null;
}
});
dialogMultiItem = dialog.show();
}