Удалить элемент из списка не работает в Java - PullRequest
0 голосов
/ 14 апреля 2020

У меня есть список, который содержит несколько строк из строк. 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)); вызывается каждый цикл и снова заполняет список?

С уважением

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...