Created
August 19, 2018 12:21
-
-
Save ashiato45/6c3a2fc20d9804939a3abb611d2be232 to your computer and use it in GitHub Desktop.
Test of ViewPager
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.example.ashia.pagertest | |
import android.support.v4.app.Fragment | |
import android.support.v4.app.FragmentManager | |
import android.support.v4.app.FragmentPagerAdapter | |
class ExampleFragmentPagerAdapter(fm: FragmentManager?) : FragmentPagerAdapter(fm) { | |
override fun getItem(position: Int): Fragment { | |
when(position){ | |
0 -> { | |
return TextFragment.newInstance("Good Morning!"); | |
} | |
1 -> { | |
return TextFragment.newInstance("Good Evening!"); | |
} | |
} | |
TODO("not implemented") //To change body of created functions use File | Settings | File Templates. | |
} | |
override fun getCount(): Int { | |
return 2; | |
//TODO("not implemented") //To change body of created functions use File | Settings | File Templates. | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.example.ashia.pagertest | |
import android.support.v7.app.AppCompatActivity | |
import android.os.Bundle | |
import android.support.v4.view.ViewPager | |
class MainActivity : AppCompatActivity() { | |
override fun onCreate(savedInstanceState: Bundle?) { | |
super.onCreate(savedInstanceState) | |
setContentView(R.layout.activity_main) | |
val vp = findViewById<ViewPager>(R.id.vpMain); | |
val efpa = ExampleFragmentPagerAdapter(supportFragmentManager); | |
vp.adapter = efpa; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.example.ashia.pagertest | |
import android.content.Context | |
import android.net.Uri | |
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 | |
// TODO: Rename parameter arguments, choose names that match | |
// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER | |
private const val ARG_PARAM1 = "param1" | |
private const val ARG_PARAM2 = "param2" | |
/** | |
* A simple [Fragment] subclass. | |
* Activities that contain this fragment must implement the | |
* [TextFragment.OnFragmentInteractionListener] interface | |
* to handle interaction events. | |
* Use the [TextFragment.newInstance] factory method to | |
* create an instance of this fragment. | |
* | |
*/ | |
class TextFragment : Fragment() { | |
// TODO: Rename and change types of parameters | |
private var param1: String? = null | |
private var listener: OnFragmentInteractionListener? = null | |
override fun onCreate(savedInstanceState: Bundle?) { | |
super.onCreate(savedInstanceState) | |
arguments?.let { | |
param1 = it.getString(ARG_PARAM1) | |
} | |
} | |
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, | |
savedInstanceState: Bundle?): View? { | |
// Inflate the layout for this fragment | |
// Followed this: https://qiita.com/Yuki_Yamada/items/6d8b38effeb38ed96d78 | |
val view = inflater.inflate(R.layout.fragment_text, container, false); | |
val text = view.findViewById<TextView>(R.id.txtMain); | |
text.text = param1; | |
return view; | |
} | |
// TODO: Rename method, update argument and hook method into UI event | |
fun onButtonPressed(uri: Uri) { | |
listener?.onFragmentInteraction(uri) | |
} | |
override fun onAttach(context: Context) { | |
super.onAttach(context) | |
// if (context is OnFragmentInteractionListener) { | |
// listener = context | |
// } else { | |
// throw RuntimeException(context.toString() + " must implement OnFragmentInteractionListener") | |
// } | |
} | |
override fun onDetach() { | |
super.onDetach() | |
listener = null | |
} | |
/** | |
* This interface must be implemented by activities that contain this | |
* fragment to allow an interaction in this fragment to be communicated | |
* to the activity and potentially other fragments contained in that | |
* activity. | |
* | |
* | |
* See the Android Training lesson [Communicating with Other Fragments] | |
* (http://developer.android.com/training/basics/fragments/communicating.html) | |
* for more information. | |
*/ | |
interface OnFragmentInteractionListener { | |
// TODO: Update argument type and name | |
fun onFragmentInteraction(uri: Uri) | |
} | |
companion object { | |
/** | |
* Use this factory method to create a new instance of | |
* this fragment using the provided parameters. | |
* | |
* @param param1 Parameter 1. | |
* @return A new instance of fragment TextFragment. | |
*/ | |
// TODO: Rename and change types and number of parameters | |
@JvmStatic | |
fun newInstance(param1: String) = | |
TextFragment().apply { | |
arguments = Bundle().apply { | |
putString(ARG_PARAM1, param1) | |
} | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment