2016-12-19 11 views
-3

Ok ..ここに問題があります。 私はそれに10項目の刺青のarraylistを持っています。 次に、リストをランダム化し、ランダムな文字列をテキストビューで表示します。 最後の文字列を削除すると、アプリがクラッシュします。それを修正するためのヒント?あなたは以下の2つの要素を含むことができ、リスト上のget(1)を呼び出そうとしている最後の文字列が削除されると、アプリケーションがクラッシュする原因となる

Collections.shuffle(learnlist); 
    showlearntv.setText(learnlist.get(0)); 
    nextlearn.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      showlearntv.setText(learnlist.get(1)); 
      learnlist.remove(0); 
+2

'learnlist.size()> 1'を確認する前に' learnlist.get(1) 'を呼び出さないでください。 – Eran

+0

アイテムがない場合は削除/取得しない – Selvin

+0

最終的な文字列の「リストの終わり」と言うテキストをどうにかして作成できますか? –

答えて

0

: は、ここでは、コードです。 いくつかの安全チェックを追加する必要があります。例えば:クリックハンドラで

nextlearn.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     if (!learnlist.isEmpty()) { 
      learnlist.remove(0); 
     } 
     if (!learnlist.isEmpty()) { 
      showlearntv.setText(learnlist.get(0)); 
     } 
    } 
+1

ありがとうございます。私はこれを試してみる... –

0

、リストは任意の項目、そうで

showlearntv.setText(learnlist.get(0)); 

何かを行うがある場合そして、第1

learnlist.remove(0) 

を項目を削除します。

関連する問題