It seems that everytime you want to print the array, you are simply appending the text to whatever is already in the textview. A quick solution is to just set the text of the textview to an empty string before appending your new text.
private void printArrayToScreen() {
tv.setText(""); //Before printing your data clear the textview
for(int i = 0; i < row; i++) {
for(int j = 0; j < col; j++) {
tv.append(array[i][j]+" ");
}
tv.append("\n");
}
}