Я разрабатываю приложение для словаря.В приложении есть кнопка «Избранное», которая позволяет пользователям:
- коротко щелкнуть, чтобы добавить просматриваемое слово в список избранного;
- долго щелкнуть, чтобы просмотреть избранноесписок (добавленных слов).
До сих пор я кодировал следующее:
ОБНОВЛЕННЫЙ КОД:
//Writing lines to myFavourite.txt
btnAddFavourite = (ImageButton) findViewById(R.id.btnAddFavourite);
btnAddFavourite.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Writing the content
try {
// opening myFavourite.txt for writing
OutputStreamWriter out = new OutputStreamWriter(openFileOutput("myFavourite.txt", MODE_APPEND));
// writing the ID of the added word to the file
out.write(mCurrentWord);
// closing the file
out.close();
} catch (java.io.IOException e) {
//doing something if an IOException occurs.
}
Toast toast = Toast.makeText(ContentView.this, R.string.messageWordAddedToFarvourite, Toast.LENGTH_SHORT);
toast.show();
}
});
//Reading lines from myFavourite.txt
btnAddFavourite.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
//trying opening the myFavourite.txt
try {
// opening the file for reading
InputStream instream = openFileInput("myFavourite.txt");
// if file the available for reading
if (instream != null) {
// prepare the file for reading
InputStreamReader inputreader = new InputStreamReader(instream);
BufferedReader buffreader = new BufferedReader(inputreader);
String line;
// reading every line of the file into the line-variable, on line at the time
try {
while ((line = buffreader.readLine()) != null) {
// do something with the settings from the file
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// closing the file again
try {
instream.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (java.io.FileNotFoundException e) {
// ding something if the myFavourite.txt does not exits
}
return false;
}});
}
Однакокнопка «Избранное» не работает с указанными выше строками кода.
Файл myFavourite.txt завершает работу (в data / data / my_project / files в Eclipse), но содержит только одну недавнодобавлено слово.Кроме того, приложение принудительно закрывается при длительном нажатии кнопки «Избранное».
Что я делал не так?Я очень благодарен, если вы, ребята, можете помочь мне решить эту проблему.Большое спасибо.
========
РЕДАКТИРОВАТЬ
Большое спасибо за вашу помощь.Я обновил свой код, чтобы отразить ваши комментарии и подсказки.К настоящему времени произошли некоторые улучшения: Избранные слова были записаны в файл myFavourite.txt подобно word2 word2 word3 ... (хотя я хочу, чтобы они появлялись в новых строках).
Однако список избранных по-прежнему не загружается при длительном нажатии кнопки «Избранное».
На самом деле моя цель - сделать так, чтобы в приложении можно было загрузить список избранного и позволить пользователям выбирать слова для поиска.
Большое спасибо за вашу помощь.