Обновить RecyclerView из базы данных после окна оповещения - PullRequest
0 голосов
/ 22 сентября 2018

Я хочу обновить свой фрагмент, где мое имя файла фрагмента - «SecondFragment.java», а мое текущее имя файла - exitAdapter. Так как мне обновить окно восстановления после нажатия кнопки «ОК» в окне оповещения

Пожалуйста, помогите мне.

Вот код утилизатора:

public class leavesAdapter extends 
RecyclerView.Adapter<RecyclerView.ViewHolder> {
private Context context;
private LayoutInflater inflater;
List<DataLeaves> leaves= Collections.emptyList();
String value;

public leavesAdapter(Activity activity, List<DataLeaves> leaves) {
    this.context = activity;
    inflater = LayoutInflater.from( context );
    this.leaves=leaves;
}

@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    View view = inflater.inflate( R.layout.myleaves_fragment, parent, false );
    MyHolder viewholder = new MyHolder(view);
    return viewholder;
}

@Override
public void onBindViewHolder(final RecyclerView.ViewHolder holder, int position) {

    final MyHolder myHolder = (MyHolder) holder;
    final DataLeaves current = leaves.get( position );

    myHolder.number.setText( current.number );
    myHolder.leavetype.setText( "Type:       "+current.type );
    myHolder.begin.setText( "Leave Begin:    "+current.lbegin );
    myHolder.end.setText( "Leave End:        "+current.lend );
    myHolder.details.setText( "Description:  "+current.ldetails );
    myHolder.stat.setText( "Status:          "+current.lstat );
    myHolder.prime = current.primary;

    myHolder.cancel_btn.setOnClickListener( new View.OnClickListener() {
        @Override
        public void onClick(View view) {
             AlertDialog.Builder alert = new AlertDialog.Builder(context);

                    alert.setTitle( "Delete" );
                    alert.setMessage( "Do you really want to delete it?" );
                    alert.setNegativeButton( "No", null );
                    alert.setPositiveButton( "Yes", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialogInterface, int i) {

                            String primaryid = current.primary;

                            new BackgroundWorker().execute(primaryid);

                        }
                    } );
                    alert.show();
        }
    } );
}

1 Ответ

0 голосов
/ 22 сентября 2018

, если вы хотите удалить текущий элемент из окна повторного просмотра после нажатия «Удалить», вы можете легко сделать это, удалив его из списка массива «листья»,

leaves.remove(position);
notifyItemRemoved(position);

, но если вы хотите вызватьсобытие в вашем фрагменте, определите метод в своем фрагменте, затем передайте свой фрагмент адаптеру и вызовите этот метод,

или просто переместите buttonClickEvent из адаптера в определение адаптера в вашем фрагменте,

...