My Photo

« 天皇杯、新潟はJFLに敗れる | Main | 清武代表、解任される »

November 17, 2011

Androidアプリ開発メモ039:TextView#getText()の戻り値はSerializableではない

勉強がてらに、アドエスのクイックメモを参考にAppWidgetを作っている。
TextView#getText()の戻り値(CharSequence)をArrayListに突っ込んで、それをシリアライズしてローカルファイルに保存しようとしたら例外発生。

CharSequence text = textView.getText();
memoList.add(text);

// メモのリストをシリアライズしてファイルに保存する。
FileOutputStream fos;
ObjectOutputStream oos = null;
try {
  fos = openFileOutput(FILE_NAME, MODE_PRIVATE);
  oos = new ObjectOutputStream(fos);
  oos.writeObject(memoList);  // 例外発生!
  oos.close();
} catch (IOException e) {
  e.printStackTrace();
} finally {
  if (oos != null) {
    try {
      oos.close();
    } catch (IOException e) {
    }
  }
}

TextView#getText()の戻り値はStringだろうと決め付けていたが、違った。getClass().getName()で調べたら
android.text.SpannableStringBuilder
というクラスだった。
で、これがSerializableではなかった。
TextView#getText()の戻り値をtoString()してからArrayListにadd()したら解決。

CharSequence text = textView.getText();
memoList.add(text.toString());

« 天皇杯、新潟はJFLに敗れる | Main | 清武代表、解任される »

Androidアプリ開発」カテゴリの記事

Comments

Post a comment

(Not displayed with comment.)

TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/26461/53269568

Listed below are links to weblogs that reference Androidアプリ開発メモ039:TextView#getText()の戻り値はSerializableではない:

« 天皇杯、新潟はJFLに敗れる | Main | 清武代表、解任される »

March 2017
Sun Mon Tue Wed Thu Fri Sat
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
無料ブログはココログ

日本blog村

  • にほんブログ村 IT技術ブログへ
  • にほんブログ村 アニメブログへ
  • にほんブログ村 サッカーブログ アルビレックス新潟へ

好きな音楽家

メモ

XI-Prof