如何使Listview无法选择?

时间:2015-03-31 17:01:14

标签: c windows dialog

我使用DialogBox创建了一个应用程序。我添加了一个ListView

有没有办法让这个Listview不可选?

用户不应选择任何内容,只应显示一些数据。

提前致谢!

1 个答案:

答案 0 :(得分:0)

为了在列表创建时禁用列表项,您必须从ArrayAdapter继承子类。您必须覆盖以下方法:isEnabled(int position)和areAllItemsEnabled()。在前者中,您返回true或false取决于是否启用给定位置的列表项。在后者你返回false。

如果你想使用createFromResource(),你也必须实现该方法,因为ArrayAdapter.createFromResource()仍然实例化ArrayAdapter而不是你自己的适配器。

最后,代码如下所示:

class MenuAdapter extends ArrayAdapter<CharSequence> {

public MenuAdapter(
        Context context, int textViewResId, CharSequence[] strings) {
    super(context, textViewResId, strings);
}

public static MenuAdapter createFromResource(
        Context context, int textArrayResId, int textViewResId) {

    Resources      resources = context.getResources();
    CharSequence[] strings   = resources.getTextArray(textArrayResId);

    return new MenuAdapter(context, textViewResId, strings);
}

public boolean areAllItemsEnabled() {
    return false;
}

public boolean isEnabled(int position) {
    // return false if position == position you want to disable
}

}