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 drugioraz trzecimetody 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);
}
}