在警报框后从数据库刷新 RecyclerView
Refresh RecyclerView from database after a Alert box
我想刷新我的片段,我的片段文件名为 "SecondFragment.java",我当前的文件名为 leaveAdapter
那么我应该如何在我从警报框按确定后刷新回收视图
请大家帮忙
这里是 recyclerview 适配器代码:
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();
}
} );
}
如果你想在按下 'Delete' 后从 recyclerview 中删除当前项目,你可以通过从 'leaves' 数组列表中删除它来轻松完成,
leaves.remove(position);
notifyItemRemoved(position);
但如果您想在片段中触发事件,请在片段中定义一个方法,然后将片段传递给适配器并调用该方法,
或者只需将 buttonClickEvent 从您的适配器移动到片段中的 adapterDefinition,
我想刷新我的片段,我的片段文件名为 "SecondFragment.java",我当前的文件名为 leaveAdapter 那么我应该如何在我从警报框按确定后刷新回收视图
请大家帮忙
这里是 recyclerview 适配器代码:
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();
}
} );
}
如果你想在按下 'Delete' 后从 recyclerview 中删除当前项目,你可以通过从 'leaves' 数组列表中删除它来轻松完成,
leaves.remove(position);
notifyItemRemoved(position);
但如果您想在片段中触发事件,请在片段中定义一个方法,然后将片段传递给适配器并调用该方法,
或者只需将 buttonClickEvent 从您的适配器移动到片段中的 adapterDefinition,