2015-03-31 3 views
0

Я упаковал приложение, используя DialogBox. Я добавил ListView.Как сделать Listview не доступным?

Есть ли способ сделать это Listview неизменным?

Пользователь не должен выбирать ничего, он должен просто отображать некоторые данные.

Заранее благодарен!

ответ

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 
} 

}

+1

MenuAdapter является .Net, я прав? В этом случае это не работает для меня. Я создал приложение без использования .Net. Я не хочу использовать никаких зависимостей. Я использовал собственные API Windows – kampi

Смежные вопросы