Skocz do zawartości
matej1410

ArrayAdapter mechanizm działania metod getView oraz inflate

    Rekomendowane odpowiedzi

    Witam serdecznie.

    Analizuję lekcje kursu: https://damianchodorek.com/kurs-android-wzorzec-viewholder-optymalizacja-adaptera-listy-listview-arrayadapter-18/

    I mam klika pytań:

    1) czy metoda getView jest wywoływana tyle razy ile elementów w tablicy?

    2) Do czego służą argument drugi oraz trzeci metody inflate tzn.: parent oraz false? 

    .inflate(R.layout.list_item, parent, false);

    A to fragment kodu z którego korzystam:

    public class MainActivity extends AppCompatActivity
    {
        private List stringsArray = new ArrayList<>();
    
        @Override
        protected void onCreate(Bundle savedInstanceState)
        {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            for(int i = 0; i < 100; ++i)
            {
                stringsArray.add("number: " + i);
            }
    
            ArrayAdapter adapter = new ArrayAdapter(this, R.layout.list_item, stringsArray)
            {
                @Override
                public View getView(int position, View convertView, ViewGroup parent)
                {
                    // pobieramy i-ty element tablicy
                    String stringToShow = (String) getItem(position);
    
                    // tworzymy element listy
                    convertView = LayoutInflater.from(MainActivity.this)
                        .inflate(R.layout.list_item, parent, false);
    
                    // uzupełniamy element listy danymi
                    ((TextView) convertView.findViewById(R.id.list_item))
                        .setText(stringToShow);
    
                    return convertView;
                }
            };
    
    
            ((ListView) findViewById(R.id.list_view)).setAdapter(adapter);
        }
    }

     

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

    Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

    Zarejestruj nowe konto

    Załóż nowe konto. To bardzo proste!

    Zarejestruj się

    Zaloguj się

    Posiadasz już konto? Zaloguj się poniżej.

    Zaloguj się

    • Ostatnio przeglądający   0 użytkowników

      Brak zarejestrowanych użytkowników przeglądających tę stronę.

    x