I have a file to which I want to add unique items. The file overwrites each time I try to append it. One class is for adding unique items another is for viewing items as a ListView
. NOTE While writing Context.MODE_APPEND
while performing write operation, it gives me blank in the ListView
in the second class.
AddingToFile.java
String filename2="grocery24_2.txt";
ArrayList<String> pantryarrlist = new ArrayList<String>();
public void showResult(View v) { button onclick event
for (Product p : listviewAdapter.getBox()) {
if (p.selected){
if(!pantryarrlist.contains(p.name)) {
pantryarrlist.add(p.name);
try {
FileOutputStream fos = openFileOutput(filename2, Context.MODE_PRIVATE);
// This gives blank->FileOutputStream fos = openFileOutput(filename2, Context.MODE_APPEND);
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(pantryarrlist);
oos.close();
fos.close();
} catch (Exception e) {
}
}
}
}
}
Pantry.java to read from the file
public class Pantry extends ListActivity{
ListView listView;
ArrayAdapter<String> adapter;
String filename = "grocery24_2.txt";
List newArrList = new ArrayList();
List pantryarrlist = new ArrayList();
File file = new File(filename);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.pantry);
listView = getListView();
listView.setTextFilterEnabled(true);
listView.setFocusable(true);
FileInputStream fis = openFileInput(filename);
ObjectInputStream ois = new ObjectInputStream(fis);
newArrList = (ArrayList) ois.readObject();
pantryarrlist.addAll(newArrList);
ois.close();
fis.close();
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1, newArrList);
listView.setAdapter(adapter);
}