2012-03-10 13 views
-1

アプリケーションは、TextEdit値をStringに読み込んでからArrayListに変換します。しかし、それを変換する前に、TextEdit内の単語間のスペースを削除します。変換後、ArrayListのサイズは1になります。String to ArrayList

私の質問は実際のサイズを取得する方法です。私は、そのswap()関数のためにArrayListを使用しています。あなたが実際にやりたいことで私の推測です

outputStream.setText(""); 
     stream = inputStream.getText().toString().replace(" ", ""); 
     key = Integer.parseInt(inputKey.getText().toString()); 

     List<String> arrayList = Arrays.asList(stream); 
     int lenght = arrayList.size(); 
     if (key < lenght) 
     { 
      outputStream.append(lenght+"\n"); 
      outputStream.append("OK"); 
     } 
     else { 
      outputStream.append(lenght+"\n"); 
      outputStream.append("Error"); 
     } 

    } 
+3

:あなたは文字列の使用の言葉を保存したい場合は、あなたのリストはサイズ1で常にある理由文字列は、サイズ1のthatsの文字列の配列のようなものですhttp://sscce.org/)。そうであるように、質問は私には意味がありません。 –

+0

StringをArrayListに変換するコードを投稿できますか?それは問題が発生している場所です。 – elevine

答えて

0
stream = inputStream.getText().toString(); 
    key = Integer.parseInt(inputKey.getText().toString()); 

    List<String> arrayList = new ArrayList<String>(); 
    for (String x : stream.split(" ")) arrayList.add(x); 
    int lenght = arrayList.size(); 
    if (key < lenght) 
    { 
     outputStream.append(lenght+"\n"); 
     outputStream.append("OK"); 
    } 
    else { 
     outputStream.append(lenght+"\n"); 
     outputStream.append("Error"); 
    } 

...

+0

ありがとうございました。しかしその後、ArrayListより簡単なchar配列を選択しました。 – Shien

0

大きさと長さが異なるものです。

長さが必要なときにサイズを取得しようとします。

arrayList.size()の代わりにarrayList[0].length()を使用してください。

0

あなたは配列しようとするあなたの文字列を解析する場合:

List<String> arrayList = Arrays.asList(stream.split(",")); 

(この例では、あなたのテキストがカンマで区切られたリストであることを期待)

0

Arrays.asList() PARAMTERとして配列だけではなく、文字列を期待。 ([SSCCE]投稿、早いほど良いのヘルプについて

Arrays.asList(stream.split(" ")); //Don't use replace method anymore