Почему ListView не реагирует на нажатие кнопки?
только начала изучать Android. Хотела сделать так, чтобы при нажатии кнопки менялись цифры в ListView c 0 на 1, при следующем нажатии с 1 на 2 и т.д. Но при нажатии кнопки ничего не происходит. Подскажите, пожалуйста, почему не работает код? (Знаю, что listView устарел и здесь нужен RecyclerView, но хочу для начала с ListView разобраться)
public class MainActivity extends Activity {
private Button addOne;
private ListView lvPyramid;
Pyramid pyramid = new Pyramid(30);
ArrayList<String> list = pyramid.getList();
private int count = 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
pyramid.setList(pyramid.fillPyramid(0));
lvPyramid = (ListView) findViewById(R.id.lvPyramid);
ArrayAdapter<ArrayList<String>> adapter = new <ArrayList<String>>ArrayAdapter(this, android.R.layout.simple_list_item_1, list);
lvPyramid.setAdapter(adapter);
addOne = findViewById(R.id.b_addOne);
View.OnClickListener onClickListener = new View.OnClickListener() {
@Override
public void onClick(View view) {
for (int i = 0; i < list.size(); i++) {
pyramid.setList(pyramid.fillPyramid(count));
adapter.notifyDataSetChanged(); }
count++;
if (count == 10) count = 0;
}
};
addOne.setOnClickListener(onClickListener);
}
}
public class Pyramid {
private ArrayList<String> list = new ArrayList<>();
private int height;
public ArrayList<String> getList() {
return list;
}
public void setList(ArrayList<String> list) {
this.list = list;
}
public Pyramid(int height) {
this.height = height;
}
public ArrayList<String> fillPyramid(int digit) {
String row = new String();
for (int i = 1; i <= height; i++) {
row = "";
for (int j = 0; j < i; j++) {
row = row + digit;
}
list.add(row);
}
return list;
}
}