나는 셔플 목록을 통해 이미지가 표시되는 함수를 작성하고 있습니다.셔플 목록/배열 항목을 실행/두 가지 방법으로 나누기
private int measurementCount = 0;
public int createShuffledList(){
List<Integer> indexes = new ArrayList< >();
for (int i = 1; i <= MEASUEREMENTREPEATS; i++) {
indexes.add(i);
}
Collections.shuffle(indexes);
Log.d("QD", "Shuffled index: " + indexes);
int randomPrimeNumber = (int) indexes.get(measurementCount);
Log.d("QD", "Value from index: " + randomPrimeNumber);
primeindex = randomPrimeNumber;
Log.d("QD", "Vale of primeindex index: " + primeindex);
return primeindex;
}
어떻게됩니까?
- randomPrimenumber를 생성 셔플에서 "인덱스"수를 반환 primeindex
- 위치 0에있는 아이템의 개수가
타 방법은 +1로 "measurementCount"를 추가하는 것이다 . 이제 shuffled list "indexes"의 두 번째 항목이 반환되어야합니다 (primeindex).
메서드를 다시 호출하면 "인덱스"배열이 다시 섞입니다 (의도하지 않은 경우).
그래서이 방법을 두 부분으로 나누고 싶습니다. "셔플 인덱스"의 일부는 한 번 (onCreate) 호출해야하고 "다음 항목 가져 오기"부분은 여러 번 호출해야합니다 (측정 개수에 따라 반복). 그래서이 발생해야하는 잘못된 코드를 쓰고 있어요 :
전화 번 (한 OnCreate) :
public int createShuffledList(){
List<Integer> indexes = new ArrayList< >();
for (int i = 1; i <= MEASUEREMENTREPEATS; i++) {
indexes.add(i);
}
Collections.shuffle(indexes);
Log.d("QD", "Shuffled index: " + indexes);
handoverIndex = indexes;
return handoverIndex;
}
전화를 여러 번, measurementCount 1 :
public int getNextShuffledListItem(){
int randomPrimeNumber = (int) handoverIndex.get(measurementCount);
Log.d("QD", "Value from index: " + randomPrimeNumber);
primeindex = randomPrimeNumber;
Log.d("QD", "Vale of primeindex index: " + primeindex);
return primeindex;
}
는 핸드 오버에 그것을 가능 배열의 항목을 통해 실행되는 다음 메서드로 뒤섞인 배열?
사전
이
안녕 Mij,하지만 내 getNextShufffledListItem() 이제 "인덱스"를 찾을 수없는 사용 방법 - 내가 그들을 정수 (또는 비슷한?)처럼 선언해야합니까? – tigercode
그것은 약간 무의미합니다. 'indexes.get (measurementCount)'를 호출 할 수는 있지만 색인은 클래스 변수 여야합니다. 응답을 업데이트했습니다. – miljon
나는 너에게 충분히 감사 할 수 없다! 절대적으로 위대하다! – tigercode