如何以编程方式在Alert Dialog中滚动自定义列表视图?

时间:2017-03-24 17:28:11

标签: android listview android-alertdialog

我正在开发一款Android应用。目前我已经在Alert Dialog中实现了自定义列表视图。这是到目前为止的代码:

private void setupAlertDialogBuilder(final Context context) {
        GiftStoreCountriesAdapter giftStoreCountriesAdapter = new GiftStoreCountriesAdapter(context,
                R.layout.gift_store_countries_row,
                giftStoreCountriesViewModel.fetchCountriesFromLocalDatabase(),
                (HomeActivity) context);
        builder = new AlertDialog.Builder(context)
                .setIcon(R.drawable.ic_currency_icon)
                .setAdapter(giftStoreCountriesAdapter, new OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                handleCountrySelection(dialog, which);
            }
        });
        builder.create().getListView().setFastScrollEnabled(true);
        builder.create().getListView().smoothScrollToPosition(scrollToPosition(context));
    }

除了一件事,一切都很好。一旦向用户显示警告对话框,我该如何以编程方式将该自定义列表视图滚动到某行的某个位置或索引。我试过这个:

builder.create().getListView().setFastScrollEnabled(true);  
    builder.create().getListView().smoothScrollToPosition(scrollToPosition(context));

但它不起作用。如果我只是:

getListView().smoothScrollToPosition(scrollToPosition(context));

没有builder.create()我得到NullPointerException。这是在自定义警报对话框和extends AlertDialog的类中。我需要在向用户显示时自动滚动此列表。我感谢你的帮助。

0 个答案:

没有答案