Saya baru dalam pemrograman Android. Saya mencoba ListFragment yang diisi dari database, dan berfungsi dengan baik.
Saya dapat menampilkan nilainya, tetapi ketika saya mencoba menyegarkan tampilan dengan melepaskan dan melampirkan fragmen lagi, muncul kesalahan tampilan konten yang belum dibuat di getListView() yang saya pakai onActivityCreated.
Ada ide?
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
listView = getListView();
db = new DatabaseAccess(getActivity().getApplicationContext());
List<Contact> contacts = db.getAllContacts();
if (contacts.size() > 0) {
List<Map<String, String>> contactList = new ArrayList<Map<String, String>>();
for (Contact con : contacts) {
Map<String, String> data = new HashMap<String, String>(2);
data.put("name", con.getName());
data.put("number", con.getNumber());
contactList.add(data);
}
SimpleAdapter adapter = new SimpleAdapter(getView().getContext(), contactList, android.R.layout.simple_list_item_2, new String[] {"name", "number"}, new int[] {android.R.id.text1, android.R.id.text2});
listView.setAdapter(adapter);
} else {
setEmptyText("Masih belum ada kontak");
}
setListShown(true);
db.closeDB();
}
ketika saya mencoba menyegarkan fragmen
void refreshFragment() {
Fragment frg = getFragmentManager().findFragmentById(R.id.fragment);
FragmentTransaction fragTransaction = this.getFragmentManager().beginTransaction();
fragTransaction.detach(frg);
fragTransaction.attach(frg);
fragTransaction.commit();
}