Я пытаюсь напечатать шаги сортировки выбора в текстовом представлении, для этого я хочу использовать каждый метод steptext.append()
через каждые 5 секунд.
Я ожидал, что результат будет выглядеть похоже на это
но это не работает, и я получаю это I/Choreographer: Skipped 1084 frames! The application may be doing too much work on its main thread.
public class steps extends Fragment {
private static final String ARG_PARAM1 = "inpuut";
private String minpuut;
private OnFragmentInteractionListener mListener;
private TextView inputEntred ;
private TextView steptext ;
@Override
public void onResume() {
super.onResume();
String[] numberList = inputEntred.getText().toString().split(",");
final Integer[] numbers = new Integer[numberList.length];
for (int i = 0; i < numberList.length; i++) {
numbers[i] = Integer.parseInt(numberList[i]);
}
}
public static int Nswaps =0;
public String selectionSteps(Integer[] arr) throws InterruptedException {
System.out.println(Arrays.toString(arr));
int n = arr.length;
int Ccounter=0;
for (int i = 0; i < n-1; i++)
{
int min_idx = i;
for (int j = i+1; j < n; j++) {
Ccounter++;
steptext.append(" comparison "+Ccounter +" : comparing "+ arr[i]+" and "+ arr[j]+" \n");
Thread.sleep(5000);
if (arr[j] < arr[min_idx])
{
min_idx = j ;
steptext.append( "("+arr[j]+"<"+arr[i] +") TRUE , swap positions \n");
Thread.sleep(5000);
swap(arr,min_idx, i);
steptext.append(" swap : ");
steptext.append(Arrays.toString(arr)+"\n");
Thread.sleep(5000);
}
else
steptext.append( "("+arr[j]+"<"+ arr[i]+") FALSE , no swaping \n");;
Thread.sleep(5000);
}
swap(arr,min_idx, i);
}
System.out.println(Ccounter);
return null;
}
public static void swap(Integer[] a, int i, int j) {
int e = a[i];
a[i] = a[j];
a[j] = e;
Nswaps++ ;
}
}
извините, мне нужно добавить текст, чтобы мне написать вопрос