diff options
author | Marcin Zelent <zelent.marcin@gmail.com> | 2018-03-29 23:25:18 +0200 |
---|---|---|
committer | Marcin Zelent <zelent.marcin@gmail.com> | 2018-03-29 23:25:18 +0200 |
commit | 7294c6bd32e362b4c0a64cadbf4dd2c191e1ad8e (patch) | |
tree | 1265a82d6195a11082363d883b4aafa537b6af0b /app/src/main/java | |
parent | 0ca89e916444d5e3f42238d36039e53903555276 (diff) |
Added observations tabs
Diffstat (limited to 'app/src/main/java')
4 files changed, 140 insertions, 2 deletions
diff --git a/app/src/main/java/org/marcinzelent/liberavem/AllObservationsFragment.java b/app/src/main/java/org/marcinzelent/liberavem/AllObservationsFragment.java new file mode 100644 index 0000000..ee07682 --- /dev/null +++ b/app/src/main/java/org/marcinzelent/liberavem/AllObservationsFragment.java @@ -0,0 +1,29 @@ +package org.marcinzelent.liberavem; + + +import android.os.Bundle; +import android.support.v4.app.Fragment; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +/** + * A simple {@link Fragment} subclass. + */ +public class AllObservationsFragment extends Fragment { + + + public AllObservationsFragment() { + // Required empty public constructor + } + + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { + View rootView = inflater.inflate(R.layout.observations_list, container, false); + + return rootView; + } + +} diff --git a/app/src/main/java/org/marcinzelent/liberavem/MyObservationsFragment.java b/app/src/main/java/org/marcinzelent/liberavem/MyObservationsFragment.java new file mode 100644 index 0000000..bcc9067 --- /dev/null +++ b/app/src/main/java/org/marcinzelent/liberavem/MyObservationsFragment.java @@ -0,0 +1,46 @@ +package org.marcinzelent.liberavem; + + +import android.os.Bundle; +import android.support.v4.app.Fragment; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ArrayAdapter; +import android.widget.ListView; +import android.widget.TextView; + +import org.jetbrains.annotations.Nullable; + +import java.util.ArrayList; + +/** + * A simple {@link Fragment} subclass. + */ +public class MyObservationsFragment extends Fragment { + + + public MyObservationsFragment() { + // Required empty public constructor + } + + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { + View rootView = inflater.inflate(R.layout.observations_list, container, false); + + return rootView; + } + + @Override + public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { + String[] list = new String[] { + "String 1", + "String 2", + "String 3" + }; + ListView observationsListView = view.findViewById(R.id.observations_list_view); + ArrayAdapter<String> adapter = new ArrayAdapter<>(getActivity(), android.R.layout.simple_list_item_1, list); + observationsListView.setAdapter(adapter); + } +} diff --git a/app/src/main/java/org/marcinzelent/liberavem/ObservationsFragment.java b/app/src/main/java/org/marcinzelent/liberavem/ObservationsFragment.java index ce25892..aefaaf4 100644 --- a/app/src/main/java/org/marcinzelent/liberavem/ObservationsFragment.java +++ b/app/src/main/java/org/marcinzelent/liberavem/ObservationsFragment.java @@ -6,11 +6,14 @@ import android.os.Bundle; import android.support.annotation.Nullable; import android.support.design.widget.FloatingActionButton; import android.support.design.widget.Snackbar; +import android.support.design.widget.TabLayout; import android.support.v4.app.Fragment; +import android.support.v4.app.FragmentManager; +import android.support.v4.view.ViewPager; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; -import android.widget.ImageView; +import android.widget.ListView; /** @@ -80,7 +83,20 @@ public class ObservationsFragment extends Fragment { @Override public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { - FloatingActionButton fab = getView().findViewById(R.id.fab); + // Find the view pager that will allow the user to swipe between fragments + ViewPager viewPager = (ViewPager) view.findViewById(R.id.viewpager); + + // Create an adapter that knows which fragment should be shown on each page + ViewPagerAdapter adapter = new ViewPagerAdapter(getContext(), getChildFragmentManager()); + + // Set the adapter onto the view pager + viewPager.setAdapter(adapter); + + // Give the TabLayout the ViewPager + TabLayout tabLayout = (TabLayout) view.findViewById(R.id.sliding_tabs); + tabLayout.setupWithViewPager(viewPager); + + FloatingActionButton fab = view.findViewById(R.id.fab); fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { diff --git a/app/src/main/java/org/marcinzelent/liberavem/ViewPagerAdapter.java b/app/src/main/java/org/marcinzelent/liberavem/ViewPagerAdapter.java new file mode 100644 index 0000000..8c20fc9 --- /dev/null +++ b/app/src/main/java/org/marcinzelent/liberavem/ViewPagerAdapter.java @@ -0,0 +1,47 @@ +package org.marcinzelent.liberavem; + +import android.content.Context; +import android.support.v4.app.Fragment; +import android.support.v4.app.FragmentManager; +import android.support.v4.app.FragmentPagerAdapter; + +public class ViewPagerAdapter extends FragmentPagerAdapter { + + private Context mContext; + + public ViewPagerAdapter(Context context, FragmentManager fm) { + super(fm); + mContext = context; + } + + // This determines the fragment for each tab + @Override + public Fragment getItem(int position) { + if (position == 0) { + return new MyObservationsFragment(); + } else { + return new AllObservationsFragment(); + } + } + + // This determines the number of tabs + @Override + public int getCount() { + return 2; + } + + // This determines the title for each tab + @Override + public CharSequence getPageTitle(int position) { + // Generate title based on item position + switch (position) { + case 0: + return mContext.getString(R.string.my_observations); + case 1: + return mContext.getString(R.string.all_observations); + default: + return null; + } + } + +} |