私はコンテンツの束を持っているリストビューを持っています、そして、私はどのようにリストビューの内容をテキストファイルとして保存することができますか?私はデータベースからすべてのコンテンツを引き出しています。私はasumingいリストビューの内容をアンドロイドのテキストファイルに保存する方法は?
0
A
答えて
1
はあなたがユーザーによってクリックされた行の内容を保存したい:
もしListActivityオーバーライドonListItemClick(リストビューLV、ビューV、int型の位置、長いid)を使用しました。 String str = lv.getItemAtPosition(position).toString()は、行に含まれる文字列を与えることができます。あなたの正確な実装に応じて、他の可能性があります。クリックされたビューにもアクセスできます。
データベース内に既にある行の内容を保存しておき、単純にそこからクエリを実行して保存することはできません。
文字列があると、新しいファイルを作成してそれに書き込む。ファイルへの書き込みの
一つの方法:
try {
File f = File.createTempFile("file", ".txt", Environment.getExternalStorageDirectory());
FileWriter fw = new FileWriter(f);
fw.write(str);
fw.close();
} catch (IOException e) {
e.printStackTrace();
Toast.makeText(getApplicationContext(), "Error while saving file", Toast.LENGTH_LONG).show();
}
2
てみアレイシリアライズ(あなたがシリアライズしたオブジェクトを取り戻すことができます)
ObjectOutputStream out;
Object[] objs = new Object[yourListView.getCount()];
for (int i = 0 ; i < youeListView.getCount();i++) {
Object obj = (Object)yourListView.getItemAtPosition(i);
objs[i] = obj;
}
try {
out = new ObjectOutputStream(
new FileOutputStream(
new File(yourFile.txt)));
out.writeObject(objs);
out.flush();
out.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
+0
getItemAtPosition()は、項目が画面に表示されていない場合はnullを返すので、良い考えではありません。 – Dale
0
ファイルへの書き込みの仕組みは十分にカバーされているが、詳細については、
私はデータベースからすべてのコンテンツを引き出しています
この場合、ListViewからカーソルを取得し、次にSQLiteCursor.getItemAtPosition()
を使用します。
private String getCsvFromViewCursor(ListView myListView) {
StringBuilder builder = new StringBuilder();
SQLiteCursor cursor;
builder.append("\"Field 1\",\"Field 2\"\n");
for (int i = 0; i < myListView.getCount(); i++){
cursor = (SQLiteCursor) myListView.getItemAtPosition(i);
builder.append("\"").append(cursor.getString(0)).append("\",");
builder.append("\"").append(cursor.getString(1)).append("\"\n");
}
return builder.toString();
}
関連する問題
- 1. テキストファイルの内容をJavascript変数に保存する方法は?
- 2. テキストファイルの内容を文字列に保存する方法
- 3. アンドロイドで、アーラリストの内容を保存する方法
- 4. 可変内容をテキストファイルに保存
- 5. javafx guiはテキストファイルを開き、テキストファイルの内容を読み込んでテキストファイルを編集/保存する方法
- 6. リンクリストにテキストファイルの内容を保存する
- 7. 各テキストファイルの内容をデータベーステーブルに保存するmysql
- 8. BrowserWindowの内容をイメージに保存する方法は?
- 9. JTableの内容をテキストファイルとして保存する
- 10. リストビューの位置をアンドロイドに保存
- 11. テキストファイルを保存してその内容をブラウザに表示
- 12. 従来のASP:ページの内容を保存する方法は?
- 13. NSTableViewの行の編集内容を保存する方法は?
- 14. テキストファイルの内容をmySQLデータベースに追加する方法ファイルの内容は
- 15. Oracleのビューの内容をv $ sqlに保存する方法
- 16. リストビューのアンドロイドにチェックリストの状態を保存するには?
- 17. divの内容をイメージとして保存する方法は?
- 18. テキストボックスの内容をファイルに保存する方法
- 19. inspect要素の内容をデータベースに保存する方法
- 20. JFrameの内容をファイルに保存する方法
- 21. ハイスコアをテキストファイルに保存する方法
- 22. テキストファイルの内容をテキストエリアに挿入する方法は?
- 23. 保存内容
- 24. アンドロイドの文字列に名前を保存したテキストファイルを開く方法は?
- 25. 保存したメールの内容を取得する方法
- 26. テキストファイルに保存されたキーを保存する方法
- 27. アンドロイドに展開可能なリストビューを保存するには?
- 28. ローカルHTMLの内容をテキストファイルとして保存(変更)する方法はありますか?
- 29. トレースウィンドウの内容全体をカヌーのテキストファイルにコピーする方法
- 30. リストビューのアイテムに日付を保存する方法は?
すべての情報を保存したい場合は、どうすればよいですか? – Christian
を試すことができます:lv.getCount()すべての項目をループして各行の内容を取得します。 lv.getItemAtPosition(position).toString()。位置の値は0から数えます。すべての文字列を追加し、上記のように保存します。 – user1318455