2012-03-12 6 views
4

私は単語の配列を持っており、ボタンをクリックした後にテキストビューで単語の配列を画面に表示したいと思います。私はforループを使用して全体のリストを調べてテキストを設定していましたが、エラーが続き、最後の値が置き換えられますので、配列全体が表示されません。もし誰かがg.drawSting()のようにする方法を私に説明することができれば素晴らしいだろうアンドロイドバージョン。私のコードrtは今私と一緒ではありませんが、それは次のようなものです: - 私はアンドロイドbtwの初心者です、おそらくこの質問thoによって伝えることができます。Androidでテキスト表示や何かで配列を印刷する方法

public void onCreate(Bundle savedInstanceState) 
{ 
//code for a button just being pressed{ 
//goes to two methods to fix the private array{ 
    for(int y=0; y<=array.size()-1; y++){ 
     textArea.setText(aarray.get(y)); //prints all strings in the array 
} 
} 
} 

答えて

7
int arraySize = myArray.size(); 
for(int i = 0; i < arraySize; i++) { 
myTextView.append(myArray[i]); 
} 

あなたは

myTextView.append(myArray[i]); 
myTextView.append("\n"); 

PS \ n個使用し、その後、一つ一つを印刷する場合: 誰)(.LENGTHする.size()を変更することを示唆している、感謝あなたの提案のために。

FYI、 質問者は問題の変数名はarray.size()であると言いました。質問者にとっては同じ変数名を持つ回答もあります。

あなたの変数(MyArrayという)はArray使用myArray.length()であれば、それはmyArray.size()

+0

配列がjavaで '.length'プロパティを持ち、' ​​.size() 'メソッドを持たないので、この答えは間違っている可能性があります。 –

2

TextViewを与える前に、すべてのテキストを組み合わせて文字列にする必要があります。それ以外の場合は、常にテキストを上書きします。

public void onCreate(Bundle savedInstanceState) 
{ 
    StringBuilder sb = new StringBuilder(); 
    int size = array.size(); 
    boolean appendSeparator = false; 
    for(int y=0; y < size; y++){ 

     if (appendSeparator) 
      sb.append(','); // a comma 
     appendSeparator = true; 

     sb.append(array.get(y)); 
    } 
    textArea.setText(sb.toString()); 
} 
+0

を'y assylias

+0

真実、それを修正します。 – zapl

+0

'.size()'呼び出しを 'for'ループから取得する方が良いので、ループが実行されるたびにサイズを評価する必要はありません。 – zapl

0

ArrayList使用であれば、私はこの無インデックス・ソリューション、1つのライナーを覚えてちょうど使いやすい:

for(File file:list) Log.d(TAG, "list: " + file.getPath());

関連する問題