Раздувать взгляды в течение цикла с другой идентичностью? - PullRequest
0 голосов
/ 03 октября 2019

Я надуваю макет в представлении в цикле for, а затем добавляю представления в массиве, например:

ArrayList<View> views = new ArrayList();
for (Result datalist : arraylist){

View view = layoutinflater.inflate(R.layout.viewlayout, null); 
/*View modification code here....   
.............
.............
.............*/

views.add(view);
};

Проблема заключается в том, что я получаю представления из массива даже по индексу, как views.get (i) itвозвращаю только последний вид. Я хочу, чтобы все представления работали со всеми представлениями.

Вот код, из которого я получаю представления из массивов.

 for (View v : views) {
 //            if (insertPoint != null) {
 //                if (views != null) {
 //                    if (rel_leftright != null) {
        Rect scrollBounds = new Rect();
        insertPoint.getHitRect(scrollBounds);
        if (v.getLocalVisibleRect(scrollBounds)) {
            rel_leftright.setVisibility(GONE);
        } else {
            rel_leftright.setVisibility(VISIBLE);
        }
  //                    }
  //                }
  //            }
    }

Но этот код возвращается, работая только в прошломпросмотр в массиве, и мне нужно действовать на все виды.

Пожалуйста, помогите мне выйти из этого. Спасибо !!!

1 Ответ

0 голосов
/ 03 октября 2019

Сначала я что-то упускаю: - Почему вы пытаетесь работать с представлениями (/ * Просмотреть код модификации здесь ...) до того, как вы создали все из них? Сначала создайте их в цикле и выполните итерацию по массиву представлений, а затем вызовите код модификации. - Ты уверен, что не хочешь передать родителя?

View view = layoutinflater.inflate(R.layout.viewlayout, null); 

Даже если вы не хотите присоединяться, вы можете позвонить:

View view = layoutinflater.inflate(R.layout.viewlayout, parent, false);

И вообще невозможно заполнить ArrayList значениями и не найти их. .. Пожалуйста, войдите в размер данных, а затем размер просмотров. Скорее всего, должно совпадать.

А также обратите внимание, что по строке: / * Просмотреть код модификации здесь .... не все виды созданы. Сначала вам нужно закончить цикл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...