compile fix
This commit is contained in:
		| @@ -1,12 +1,4 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <manifest xmlns:android="http://schemas.android.com/apk/res/android"> | ||||
|  | ||||
|     <application> | ||||
|         <activity | ||||
|             android:name=".MainActivityTabs" | ||||
|             android:exported="false" | ||||
|             android:label="@string/title_activity_main_tabs" | ||||
|             android:theme="@style/AppTheme.NoActionBar" /> | ||||
|     </application> | ||||
|  | ||||
| </manifest> | ||||
| @@ -1,49 +0,0 @@ | ||||
| package com.jens.automation2; | ||||
|  | ||||
| import android.os.Bundle; | ||||
|  | ||||
| import com.google.android.material.floatingactionbutton.FloatingActionButton; | ||||
| import com.google.android.material.snackbar.Snackbar; | ||||
| import com.google.android.material.tabs.TabLayout; | ||||
|  | ||||
| import androidx.viewpager.widget.ViewPager; | ||||
| import androidx.appcompat.app.AppCompatActivity; | ||||
|  | ||||
| import android.view.Menu; | ||||
| import android.view.MenuItem; | ||||
| import android.view.View; | ||||
|  | ||||
| import com.jens.automation2.ui.main.SectionsPagerAdapter; | ||||
| import com.jens.automation2.databinding.ActivityMainTabsBinding; | ||||
|  | ||||
| public class MainActivityTabs extends AppCompatActivity | ||||
| { | ||||
|  | ||||
|     private ActivityMainTabsBinding binding; | ||||
|  | ||||
|     @Override | ||||
|     protected void onCreate(Bundle savedInstanceState) | ||||
|     { | ||||
|         super.onCreate(savedInstanceState); | ||||
|  | ||||
|         binding = ActivityMainTabsBinding.inflate(getLayoutInflater()); | ||||
|         setContentView(binding.getRoot()); | ||||
|  | ||||
|         SectionsPagerAdapter sectionsPagerAdapter = new SectionsPagerAdapter(this, getSupportFragmentManager()); | ||||
|         ViewPager viewPager = binding.viewPager; | ||||
|         viewPager.setAdapter(sectionsPagerAdapter); | ||||
|         TabLayout tabs = binding.tabs; | ||||
|         tabs.setupWithViewPager(viewPager); | ||||
|         FloatingActionButton fab = binding.fab; | ||||
|  | ||||
|         fab.setOnClickListener(new View.OnClickListener() | ||||
|         { | ||||
|             @Override | ||||
|             public void onClick(View view) | ||||
|             { | ||||
|                 Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) | ||||
|                         .setAction("Action", null).show(); | ||||
|             } | ||||
|         }); | ||||
|     } | ||||
| } | ||||
| @@ -1,31 +0,0 @@ | ||||
| package com.jens.automation2.ui.main; | ||||
|  | ||||
| import androidx.arch.core.util.Function; | ||||
| import androidx.lifecycle.LiveData; | ||||
| import androidx.lifecycle.MutableLiveData; | ||||
| import androidx.lifecycle.Transformations; | ||||
| import androidx.lifecycle.ViewModel; | ||||
|  | ||||
| public class PageViewModel extends ViewModel | ||||
| { | ||||
|  | ||||
|     private MutableLiveData<Integer> mIndex = new MutableLiveData<>(); | ||||
|     private LiveData<String> mText = Transformations.map(mIndex, new Function<Integer, String>() | ||||
|     { | ||||
|         @Override | ||||
|         public String apply(Integer input) | ||||
|         { | ||||
|             return "Hello world from section: " + input; | ||||
|         } | ||||
|     }); | ||||
|  | ||||
|     public void setIndex(int index) | ||||
|     { | ||||
|         mIndex.setValue(index); | ||||
|     } | ||||
|  | ||||
|     public LiveData<String> getText() | ||||
|     { | ||||
|         return mText; | ||||
|     } | ||||
| } | ||||
| @@ -1,78 +0,0 @@ | ||||
| package com.jens.automation2.ui.main; | ||||
|  | ||||
| import android.os.Bundle; | ||||
| import android.view.LayoutInflater; | ||||
| import android.view.View; | ||||
| import android.view.ViewGroup; | ||||
| import android.widget.TextView; | ||||
|  | ||||
| import androidx.annotation.Nullable; | ||||
| import androidx.annotation.NonNull; | ||||
| import androidx.fragment.app.Fragment; | ||||
| import androidx.lifecycle.Observer; | ||||
| import androidx.lifecycle.ViewModelProvider; | ||||
|  | ||||
| import com.jens.automation2.R; | ||||
| import com.jens.automation2.databinding.FragmentMainActivityTabsBinding; | ||||
|  | ||||
| /** | ||||
|  * A placeholder fragment containing a simple view. | ||||
|  */ | ||||
| public class PlaceholderFragment extends Fragment | ||||
| { | ||||
|  | ||||
|     private static final String ARG_SECTION_NUMBER = "section_number"; | ||||
|  | ||||
|     private PageViewModel pageViewModel; | ||||
|     private FragmentMainActivityTabsBinding binding; | ||||
|  | ||||
|     public static PlaceholderFragment newInstance(int index) | ||||
|     { | ||||
|         PlaceholderFragment fragment = new PlaceholderFragment(); | ||||
|         Bundle bundle = new Bundle(); | ||||
|         bundle.putInt(ARG_SECTION_NUMBER, index); | ||||
|         fragment.setArguments(bundle); | ||||
|         return fragment; | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public void onCreate(Bundle savedInstanceState) | ||||
|     { | ||||
|         super.onCreate(savedInstanceState); | ||||
|         pageViewModel = new ViewModelProvider(this).get(PageViewModel.class); | ||||
|         int index = 1; | ||||
|         if (getArguments() != null) | ||||
|         { | ||||
|             index = getArguments().getInt(ARG_SECTION_NUMBER); | ||||
|         } | ||||
|         pageViewModel.setIndex(index); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public View onCreateView( | ||||
|             @NonNull LayoutInflater inflater, ViewGroup container, | ||||
|             Bundle savedInstanceState) | ||||
|     { | ||||
|  | ||||
|         binding = FragmentMainActivityTabsBinding.inflate(inflater, container, false); | ||||
|         View root = binding.getRoot(); | ||||
|  | ||||
|         final TextView textView = binding.sectionLabel; | ||||
|         pageViewModel.getText().observe(getViewLifecycleOwner(), new Observer<String>() | ||||
|         { | ||||
|             @Override | ||||
|             public void onChanged(@Nullable String s) | ||||
|             { | ||||
|                 textView.setText(s); | ||||
|             } | ||||
|         }); | ||||
|         return root; | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public void onDestroyView() | ||||
|     { | ||||
|         super.onDestroyView(); | ||||
|         binding = null; | ||||
|     } | ||||
| } | ||||
| @@ -1,51 +0,0 @@ | ||||
| package com.jens.automation2.ui.main; | ||||
|  | ||||
| import android.content.Context; | ||||
|  | ||||
| import androidx.annotation.Nullable; | ||||
| import androidx.annotation.StringRes; | ||||
| import androidx.fragment.app.Fragment; | ||||
| import androidx.fragment.app.FragmentManager; | ||||
| import androidx.fragment.app.FragmentPagerAdapter; | ||||
|  | ||||
| import com.jens.automation2.R; | ||||
|  | ||||
| /** | ||||
|  * A [FragmentPagerAdapter] that returns a fragment corresponding to | ||||
|  * one of the sections/tabs/pages. | ||||
|  */ | ||||
| public class SectionsPagerAdapter extends FragmentPagerAdapter | ||||
| { | ||||
|  | ||||
|     @StringRes | ||||
|     private static final int[] TAB_TITLES = new int[]{R.string.tab_text_1, R.string.tab_text_2}; | ||||
|     private final Context mContext; | ||||
|  | ||||
|     public SectionsPagerAdapter(Context context, FragmentManager fm) | ||||
|     { | ||||
|         super(fm); | ||||
|         mContext = context; | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public Fragment getItem(int position) | ||||
|     { | ||||
|         // getItem is called to instantiate the fragment for the given page. | ||||
|         // Return a PlaceholderFragment (defined as a static inner class below). | ||||
|         return PlaceholderFragment.newInstance(position + 1); | ||||
|     } | ||||
|  | ||||
|     @Nullable | ||||
|     @Override | ||||
|     public CharSequence getPageTitle(int position) | ||||
|     { | ||||
|         return mContext.getResources().getString(TAB_TITLES[position]); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public int getCount() | ||||
|     { | ||||
|         // Show 2 total pages. | ||||
|         return 2; | ||||
|     } | ||||
| } | ||||
| @@ -1,44 +0,0 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" | ||||
|     xmlns:app="http://schemas.android.com/apk/res-auto" | ||||
|     xmlns:tools="http://schemas.android.com/tools" | ||||
|     android:layout_width="match_parent" | ||||
|     android:layout_height="match_parent" | ||||
|     tools:context=".MainActivityTabs"> | ||||
|  | ||||
|     <com.google.android.material.appbar.AppBarLayout | ||||
|         android:layout_width="match_parent" | ||||
|         android:layout_height="wrap_content" | ||||
|         android:theme="@style/AppTheme.AppBarOverlay"> | ||||
|  | ||||
|         <TextView | ||||
|             android:id="@+id/title" | ||||
|             android:layout_width="wrap_content" | ||||
|             android:layout_height="wrap_content" | ||||
|             android:gravity="center" | ||||
|             android:minHeight="?actionBarSize" | ||||
|             android:padding="@dimen/appbar_padding" | ||||
|             android:text="@string/app_name" | ||||
|             android:textAppearance="@style/TextAppearance.Widget.AppCompat.Toolbar.Title" /> | ||||
|  | ||||
|         <com.google.android.material.tabs.TabLayout | ||||
|             android:id="@+id/tabs" | ||||
|             android:layout_width="match_parent" | ||||
|             android:layout_height="wrap_content" /> | ||||
|     </com.google.android.material.appbar.AppBarLayout> | ||||
|  | ||||
|     <androidx.viewpager.widget.ViewPager | ||||
|         android:id="@+id/view_pager" | ||||
|         android:layout_width="match_parent" | ||||
|         android:layout_height="match_parent" | ||||
|         app:layout_behavior="@string/appbar_scrolling_view_behavior" /> | ||||
|  | ||||
|     <com.google.android.material.floatingactionbutton.FloatingActionButton | ||||
|         android:id="@+id/fab" | ||||
|         android:layout_width="wrap_content" | ||||
|         android:layout_height="wrap_content" | ||||
|         android:layout_gravity="bottom|end" | ||||
|         android:layout_marginEnd="@dimen/fab_margin" | ||||
|         android:layout_marginBottom="16dp" | ||||
|         app:srcCompat="@android:drawable/ic_dialog_email" /> | ||||
| </androidx.coordinatorlayout.widget.CoordinatorLayout> | ||||
| @@ -1,23 +0,0 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" | ||||
|     xmlns:app="http://schemas.android.com/apk/res-auto" | ||||
|     xmlns:tools="http://schemas.android.com/tools" | ||||
|     android:id="@+id/constraintLayout" | ||||
|     android:layout_width="match_parent" | ||||
|     android:layout_height="match_parent" | ||||
|     tools:context=".ui.main.PlaceholderFragment"> | ||||
|  | ||||
|     <TextView | ||||
|         android:id="@+id/section_label" | ||||
|         android:layout_width="wrap_content" | ||||
|         android:layout_height="wrap_content" | ||||
|         android:layout_marginStart="@dimen/activity_horizontal_margin" | ||||
|         android:layout_marginTop="@dimen/activity_vertical_margin" | ||||
|         android:layout_marginEnd="@dimen/activity_horizontal_margin" | ||||
|         android:layout_marginBottom="@dimen/activity_vertical_margin" | ||||
|         app:layout_constraintLeft_toLeftOf="parent" | ||||
|         app:layout_constraintTop_toTopOf="@+id/constraintLayout" | ||||
|         tools:layout_constraintLeft_creator="1" | ||||
|         tools:layout_constraintTop_creator="1" /> | ||||
|  | ||||
| </androidx.constraintlayout.widget.ConstraintLayout> | ||||
		Reference in New Issue
	
	Block a user