My ADAPTER File in these I declare the boolean value and one function i.e setCheckboxVisibilityStatus(), how to call that function in the activity. if I called like an adapter.setCheckboxVisibilityStatus() it shows error.
public class BrowseHuntSlideAdapter extends RecyclerView.Adapter {
public LayoutInflater inflater;
private ArrayList<BrowseHuntSlideModel> dataModelArrayList;
Double lat, lng;
String address;
private boolean hideChkbox = false;
public static ArrayList<Object> mySelectPlace = new ArrayList<Object> ();
public static ArrayList<String> mySelectPlaceAdd = new ArrayList<> ();
public static ArrayList<String> mySelectplaceImg = new ArrayList<> ();
public static ArrayList<String> mySelectplaceDesc = new ArrayList<> ();
public BrowseHuntSlideAdapter(Context ctx, ArrayList<BrowseHuntSlideModel> dataModelArrayList) {
inflater = LayoutInflater.from ( ctx );
this.dataModelArrayList = dataModelArrayList;
//this.mapboxMap = mapBoxMap;
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = inflater.inflate ( R.layout.browse_slide_list_item, parent, false );
MyViewHolder holder = new MyViewHolder ( view );
return holder;
}
public void setCheckboxVisibilityStatus(boolean status) {
hideChkbox = status;
notifyDataSetChanged();
}
@Override
public void onBindViewHolder(BrowseHuntSlideAdapter.MyViewHolder holder, int position) {
if(hideChkbox)
holder.checkBox.setVisibility(GONE); //Make it invisible instead of GONE if needed.
else
holder.checkBox.setVisibility(VISIBLE);
}
@Override
public int getItemCount() {
return dataModelArrayList.size ();
}
class MyViewHolder extends RecyclerView.ViewHolder {
TextView place_name, place_address, distance;
ImageView place_image;
Button button;
CheckBox checkBox;
public MyViewHolder(View itemView) {
super ( itemView );
Context context = itemView.getContext ();
checkBox = (CheckBox)itemView.findViewById(R.id.checkbox);
//place_address1 = (TextView) itemView.findViewById ( R.id.place_address );
}
} }
and my Edit Button in Activity.......
public class Gotosafari extends AppCompatActivity implements OnMapReadyCallback, PermissionsListener {
String srno;
private RecyclerView rList, rList2;
private LinearLayoutManager linearLayoutManager;
private DividerItemDecoration dividerItemDecoration;
private static ArrayList<BrowseHuntSlideModel> PlacesList;
private RecyclerView.Adapter adapter, adapter1;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
rList = (RecyclerView) findViewById(R.id.recycle_slide_list);
PlacesList = new ArrayList<>();
adapter = new BrowseHuntSlideAdapter(getApplicationContext(),PlacesList);
linearLayoutManager = new LinearLayoutManager(this);
linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
dividerItemDecoration = new
DividerItemDecoration(rList.getContext(),
linearLayoutManager.getOrientation());
rList.setLayoutManager(new LinearLayoutManager(this,
LinearLayoutManager.VERTICAL, false));
rList.addItemDecoration(dividerItemDecoration);
rList.setAdapter(adapter);
Button edtbtn = (Button) findViewById(R.id.edtbtn);
Button donebtn = (Button) findViewById(R.id.donebtn);
donebtn.setVisibility(View.INVISIBLE);
edtbtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
edtbtn.setVisibility(View.INVISIBLE);
donebtn.setVisibility(View.VISIBLE);
edtbtn.setText("EDIT");
adapter.setCheckBoxVisibilityStatus(true);
}
});
donebtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
donebtn.setVisibility(View.INVISIBLE);
edtbtn.setVisibility(View.VISIBLE);
donebtn.setText("DONE");
flagtrue= "false";
adapter.notifyDataSetChanged();
mySelectPlaceAdd.clear();
mySelectplaceDesc.clear();
}
});
addFirstStopToStopsList ();
}