2013-07-12 3 views
-1

Я создал один проект, в котором есть 20 элементов в представлении списка, из них я хочу отключить 15 элементов, если они не куплены, и как только они будут приобретены, они станут доступными для клика, я попробовал этот код:отключить свойство clickable по элементам в listview

setListAdapter(new ArrayAdapter<String>(QuantitativeAptitude.this, 
      R.layout.row, quantList){ 

     @Override 
     public boolean isEnabled(int position) { 
      ListView lv = getListView(); 
       for (int i = 5; i <=20; i++){ 
        View v = lv.getChildAt(i); 
        v.setEnabled(false); 
       } 
      return super.isEnabled(position); 
     } 

    }); 

, но это не поможет, а не он выходит из строя мое приложение любые предложения .....

ответ

2

Я считаю, что вы, возможно, придется переопределить метод IsEnabled и там вы можете задать условие, если он включен или нет. Этот метод вызывается для каждого ListViewItem в коллекции, так, например:

@Override 
public boolean isEnabled(int position) { 
    if(CONDITION_GOES_HERE){ 
     return false; 
    } 
    return true; 
} 

Есть, вероятно, гораздо лучше/проще способы сделать это, но это первое, что приходит на ум.

Надеюсь, это поможет вам :)

+0

Thanx для rply, но, как и в моем коде я уже использовал метод IsEnabled, используя для цикла, любой другой полезный ответ ... –

+0

Я понимаю, но ты получение списка всех listviewitems внутри метода isEnabled, который вам не нужен. Этот метод вызывается для каждого listviewitem, созданного для его родительского контейнера. Если вы удалите весь код, который у вас есть, и просто используйте код, который я предоставил, я думаю, вы обнаружите, что он будет работать так, как вы этого хотите. По крайней мере, я считаю, что так оно и есть. Нет необходимости в цикле, так как это называется для отдельных элементов. – LokiSinclair

+0

Можете ли вы показать мне пример реализации метода isEnabled (int position), потому что я не получаю, как применить его к 15 элементам, и снова преобразовываю их обратно в состояние clickable –

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