Skip to content

Instantly share code, notes, and snippets.

@cliffgr
Last active October 13, 2016 11:42
Show Gist options
  • Save cliffgr/d384cf7c38f3f4c9696b08eb3b668890 to your computer and use it in GitHub Desktop.
Save cliffgr/d384cf7c38f3f4c9696b08eb3b668890 to your computer and use it in GitHub Desktop.
Stores Fragment with ListView and MapView Swicher
package com.ethos.main.ui.fragments.DemoNewList;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v7.widget.DefaultItemAnimator;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.LinearLayout;
import com.ethos.doers.Constants;
import com.ethos.doers.R;
import com.ethos.doers.net.BasicArvieRequest;
import com.ethos.main.ui.activities.BusinessViewActivity;
import com.ethos.main.ui.utils.OnItemClickListener;
import java.util.ArrayList;
import java.util.List;
public class DemoListFragment extends Fragment {
private static final String ARG_PARAM1 = "param1";
private static final String ARG_PARAM2 = "param2";
private String type;
public DemoListFragment() {
// Required empty public constructor
}
public static DemoListFragment newInstance() {
DemoListFragment fragment = new DemoListFragment();
Bundle args = new Bundle();
// args.putString(ARG_PARAM1, param1);
fragment.setArguments(args);
return fragment;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (getArguments() != null) {
type = getArguments().getString(ARG_PARAM1);
}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_listviewpois, container, false);
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
setupViews(view);
}
private void setupViews(View view) {
}
}
package com.ethos.main.ui.fragments.DemoNewList;
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.ImageLoader;
import com.ethos.doers.Constants;
import com.ethos.doers.Doers;
import com.ethos.doers.R;
import com.ethos.doers.net.ArvieRestfulApi;
import com.ethos.doers.net.BasicArvieRequest;
import com.ethos.main.ui.activities.BusinessViewActivity;
import com.ethos.main.ui.activities.CouponActivity;
import com.ethos.main.ui.utils.GeneralUtils;
import com.ethos.main.ui.utils.Logger;
import com.ethos.main.ui.utils.VolleyErrorHelper;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
import com.google.android.gms.maps.model.Marker;
import com.google.android.gms.maps.model.MarkerOptions;
import com.google.maps.android.clustering.Cluster;
import com.google.maps.android.clustering.ClusterManager;
import com.google.maps.android.clustering.view.DefaultClusterRenderer;
import java.util.ArrayList;
import java.util.List;
public class DemoMapFragment extends Fragment implements OnMapReadyCallback{
private static final String ARG_PARAM1 = "param1";
private static final String ARG_PARAM2 = "param2";
private String type = Constants.NORMAL;
private GoogleMap mMap;
// private List<ARObject> list;
// private ClusterManager<ARObject> mClusterManager;
private FrameLayout frameLayoutBubble;
// private ARObject arObjectTemp;
public DemoMapFragment() {
// Required empty public constructor
}
public static DemoMapFragment newInstance() {
DemoMapFragment fragment = new DemoMapFragment();
Bundle args = new Bundle();
//args.putString(ARG_PARAM1, param1);
fragment.setArguments(args);
return fragment;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
if (getArguments() != null) {
type = getArguments().getString(ARG_PARAM1);
}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_demo_map, container, false);
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.menu_listview_mapview, menu);
if (getActivity().findViewById(R.id.framelayout_bubble).getVisibility() == View.VISIBLE) {
menu.findItem(R.id.action_bar_close).setVisible(true);
} else {
menu.findItem(R.id.action_bar_close).setVisible(false);
}
super.onCreateOptionsMenu(menu, inflater);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
switch (id) {
case R.id.action_bar_close: {
//Start Animation Fade out
// FrameLayoutViewAnimatedChangeFadeOut(getActivity(), (FrameLayout) getActivity().findViewById(R.id.framelayout_bubble));
}
default:
return super.onOptionsItemSelected(item);
}
}
public FrameLayout getFrameLayout() {
return frameLayoutBubble;
}
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
setupViews(view);
}
private void setupViews(View view) {
SupportMapFragment mapFragment = (SupportMapFragment) getChildFragmentManager().findFragmentById(R.id.map);
// mapFragment.getMapAsync(this);
frameLayoutBubble = (FrameLayout) getActivity().findViewById(R.id.framelayout_bubble);
}
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
// setUpMap(list);
}
}
package com.ethos.main.ui.fragments;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.design.widget.FloatingActionButton;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import com.ethos.doers.R;
import com.ethos.main.ui.fragments.DemoNewList.DemoListFragment;
import com.ethos.main.ui.fragments.DemoNewList.DemoMapFragment;
public class StoresFragment extends Fragment implements View.OnClickListener {
private static final String LIST = "list";
private static final String MAP = "map";
private FloatingActionButton goButton;
public static StoresFragment newInstance() {
return new StoresFragment();
}
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_store, container, false);
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
switchFragment(new DemoListFragment().newInstance(), LIST);
goButton = (FloatingActionButton) view.findViewById(R.id.fab);
goButton.setOnClickListener(this);
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.filter_menu, menu);
super.onCreateOptionsMenu(menu, inflater);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
switch (id) {
default:
return super.onOptionsItemSelected(item);
}
}
private void switchFragment(Fragment fragment, String tag) {
getFragmentManager().beginTransaction().replace(R.id.frame_container, fragment, tag).commit();
}
@Override
public void onClick(View v) {
Fragment fragment = getFragmentManager().findFragmentById(R.id.frame_container);
String tag = fragment.getTag();
if (tag.equals(LIST)) {
switchFragment(new DemoMapFragment().newInstance(), MAP);
goButton.setImageResource(R.drawable.listview);
} else if (tag.equals(MAP)) {
switchFragment(new DemoListFragment().newInstance(), LIST);
goButton.setImageResource(R.drawable.mapview);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment