別のActivity
で生成されたテキストファイルからテキストをインポートしようとしています。生成されたテキストファイルは、String
ArrayList
で構成され、番号とAndroidで生成されたその他のランダムテキストのみが含まれています。ファイルからテキストをインポートすると、BufferedReader
とreadLine()
を使用して新しい番号をInteger
ArrayList
に取得しています。私はテキストファイルから数値以外の値を削除しています。他のアクティビティで生成された数値は "\ n"で分割されています。Integer.parseIntによるクラッシュ
私が直面している問題は、Activity
をロードするとAndroidがクラッシュすることです。私は原因をInteger.parseInt()
に絞り込んだ。
私のコードは以下の通りです:
ArrayList<Integer> lines = new ArrayList<Integer>();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
File file = new File(getFilesDir(), "test_file.txt");
try {
BufferedReader br = new BufferedReader(new FileReader(file));
while (br.readLine() != null) {
String text = (br.readLine()).replaceAll("[^0-9]+","").trim();
Integer number = Integer.parseInt(text);
lines.add(number);
}
} catch (IOException e) {
}
TextView tv = (TextView) findViewById(R.id.helptext);
int max = 0, min = 100;
double total = 0;
for (int i = 0; i < lines.size(); i++) {
int number = lines.get(i);
max = Math.max(max, number);
min = Math.min(min, number);
total += number;
}
tv.setText("max = " + max + " min = " + min + " total = "
+ total);
IT WORKS !!!!!! Text.isEmpty()をtext.length()に変更する必要がありました== 0古いAndroid APIを使用していますが、ITは機能します。 大変ありがとうございます。 – BGM
@Arjan - 申し訳ありませんが、私はコメントで返信するのを助けてくれましたが、間違って "@"記号を削除しました。また、私は本当にすごく大変なことを期待していませんでした。私は問題を解決しようとずっとずっと努力していましたが、私が彼に十分な感謝を捧げることができなかったので、それを解決したときにとても幸せでした。私はあなたにそれが再び起こらないことを保証します。ところで、私はstackoverflowが最高ではないにしても最高のサイトで、インターネット上のコードソリューションのサイトだと言わざるを得ません。あなたがセットアップを手伝った人の一人なら、どうもありがとう! – BGM
@BGM、あなたが[this](http://meta.stackexchange.com/questions/104959/gift-reward-offered-after-accepting-an-answer)を読むと、dacweのティーは問題になりません。最後のメモ、 '' Stack Overflowは、その名前のスペースが好きです;-) nitpicking-mode> '。すべてのことが言った:きれいにしましょう。私は私のコメントを削除しています - スタックエクスチェンジへようこそ! –
Arjan