У меня есть список, который содержит несколько строк из строк. xml.
Случайное число определяет, какой текст из списка будет отображаться. Затем этот текст следует удалить из списка.
К сожалению, List.remove (index) не работает для меня.
Что я делаю не так?
строк. xml
<resources>
<string name="app_name">ReadQuestions</string>
<string-array name="questions">
<item>Text 1</item>
<item>Text 2</item>
<item>Text 3</item>
<item>Text 4</item>
<item>Text 5</item>
</string-array>
</resources>
MainActivity
public class MainActivity extends AppCompatActivity{
List<String> questions;
@SuppressLint("ClickableViewAccessibility")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
questions = Arrays.asList(getResources().getStringArray(R.array.questions));
setNewText();
}
public void setNewText(){
int rnd = new Random().nextInt(questions.size());
textViewBehind.setText(questions.get(rnd));
questions.remove(rnd); // Not working
Toast.makeText(this, "test", Toast.LENGTH_SHORT).show(); // Doesn't pop up somehow
}
У кого-нибудь есть идея, почему метод удаления не работает и почему все, что происходит после этого метода, не обрабатывается. Такое ощущение, что в методе удаления есть оператор return. Я новичок в Java, но даже если метод onCreate вызывается только один раз, могут быть вопросы: Arrays.asList (getResources (). GetStringArray (R.array.questions)); вызывается каждый цикл и снова заполняет список?
С уважением