public static MainFragment newInstance(Config config) { Bundle args = new Bundle(); args.putParcelable(EXTRA_CONFIG, config); MainFragment fragment = new MainFragment(); fragment.setArguments(args); return fragment; }
@Override public ImageViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { return new ImageViewHolder(inflater.inflate(R.layout.item_image, parent, false)); }
public void setData(List<Image> images) { this.images.clear(); if (images != null) { this.images.addAll(images); } notifyDataSetChanged(); }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); folderModeSwitch = findViewById(R.id.switch_folder_mode); multipleModeSwitch = findViewById(R.id.switch_multiple_mode); cameraOnlySwitch = findViewById(R.id.switch_camera_only); pickImageButton = findViewById(R.id.button_pick_image); launchFragmentButton = findViewById(R.id.button_launch_fragment); recyclerView = findViewById(R.id.recyclerView); pickImageButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { start(); } }); launchFragmentButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { launchFragment(); } }); adapter = new ImageAdapter(this); RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false); recyclerView.setLayoutManager(layoutManager); recyclerView.setAdapter(adapter); }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); toolbar.setTitle("Progress Layout"); ProgressLayout progressLayout = (ProgressLayout) findViewById(R.id.progressLayout);
private void launchFragment() { boolean folderMode = folderModeSwitch.isChecked(); boolean multipleMode = multipleModeSwitch.isChecked(); boolean cameraOnly = cameraOnlySwitch.isChecked(); Config config = new Config(); config.setCameraOnly(cameraOnly); config.setMultipleMode(multipleMode); config.setFolderMode(folderMode); config.setShowCamera(true); config.setMaxSize(Config.MAX_SIZE); config.setDoneTitle(getString(com.nguyenhoanglam.imagepicker.R.string.imagepicker_action_done)); config.setFolderTitle(getString(com.nguyenhoanglam.imagepicker.R.string.imagepicker_title_folder)); config.setImageTitle(getString(com.nguyenhoanglam.imagepicker.R.string.imagepicker_title_image)); config.setSavePath(SavePath.DEFAULT); config.setSelectedImages(new ArrayList<Image>()); getSupportFragmentManager() .beginTransaction() .replace(R.id.fragment_container, MainFragment.newInstance(config)) .commitAllowingStateLoss(); }
@Override public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); recyclerView = view.findViewById(R.id.recyclerView); pickImageButton = view.findViewById(R.id.button_pick_image); pickImageButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { start(); } }); adapter = new ImageAdapter(getActivity()); RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(getActivity(), LinearLayoutManager.HORIZONTAL, false); recyclerView.setLayoutManager(layoutManager); recyclerView.setAdapter(adapter); }
@Override public void onBackPressed() { FragmentManager fm = getSupportFragmentManager(); Fragment fragment = fm.findFragmentById(R.id.fragment_container); if (fragment == null) { finish(); } else { fm.beginTransaction().remove(fragment).commitAllowingStateLoss(); } } }
@Override public void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == Config.RC_PICK_IMAGES && resultCode == Activity.RESULT_OK && data != null) { images = data.getParcelableArrayListExtra(Config.EXTRA_IMAGES); adapter.setData(images); } } }
@Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); config = getArguments().getParcelable(EXTRA_CONFIG); }
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == Config.RC_PICK_IMAGES && resultCode == RESULT_OK && data != null) { images = data.getParcelableArrayListExtra(Config.EXTRA_IMAGES); adapter.setData(images); } super.onActivityResult(requestCode, resultCode, data); }