У меня есть класс фрагмента, связанный с кнопкой и Listview, когда кнопка нажата, появится диалоговое окно DialogFragment на вершине класса фрагмента. Он будет принимать пользователей и добавлять их в базу данных, все работает, но список не обновляется, я знаю, что мне нужно вызвать adapter.notifyDataChange() Я напишу код psudeo.Android - ListView не обновляется
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_notes, container, false);
add = (Button) view.findViewById(R.id.button1);
add.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
//New DialogFragment show.dialog
}
});
filllist(view);
return view;
}
Другой класс, создание моего DialogFragment
public Dialog onCreateDialog(Bundle savedInstanceState){
final AlertDialog.Builder dialog = new AlertDialog.Builder(getActivity());
final View view = getActivity().getLayoutInflater().inflate(R.layout.custom_layout, null);
build.setView(view);
build.setPositiveButton(R.string.add, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
final String text = ((EditText) view.findViewById(R.id.randomtext)).getText().toString();
//Call insert method of database helper. pass user input
//dismiss
adapter.notifyDataSetChanged();
}
});
build.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dismiss();
}
});
return dialog.create();
}
Когда пользователь заканчивает заполнение полей EditText и прессы добавлять данные вставки в базу данных и увольняет dialogFragment но не обновляет/обновить ListView, где я могу вызвать notifyDataSetChanged();
Итак, мне нужно создать новый метод, называющий mAdapter = new MyAdapter (контекст, R.layout.item_listview_layout, mData); затем adapter.notifyDataSetChanged. Как фрагмент я вызываю этот метод в onActivityCreated? – Mark
Прежде чем я смогу ответить на этот вопрос, вы могли бы опубликовать, как инициализируется переменная 'adapter' в DialogFragment? – Mikhail
адаптер - это только мой собственный макет для одного списка и отображение данных, полученных в TextView, но я инициализировал его адаптером CustomAdapter; создавая экземпляр CustomAdapter. Скорее всего, мне нужно будет вызвать notifydatachange в моем классе фрагмента либо onActivityCreated, но не onCreateView – Mark