kotlin如何使用FragmentPagerAdapter

来源:互联网 发布:哪个软件看泰剧最全 编辑:程序博客网 时间:2024/06/03 12:38

主界面Activity的代码:

import android.os.Bundleimport android.support.v4.app.Fragmentimport android.support.v4.app.FragmentManagerimport android.support.v4.app.FragmentPagerAdapterimport android.support.v7.app.AppCompatActivityimport kotlinx.android.synthetic.main.activity_main.*import net.intelink.express.CXD.Rimport net.intelink.express.fragment.Fragment1import net.intelink.express.fragment.Fragment2import java.util.*class MainActivity : AppCompatActivity() {    override fun onCreate(savedInstanceState: Bundle?) {        super.onCreate(savedInstanceState)        setContentView(R.layout.activity_main)        initView()    }    fun initView() {        var adapter = MyAdapter(supportFragmentManager)        vp_content.adapter = adapter    }    class MyAdapter : FragmentPagerAdapter {        var fragments: MutableList<Fragment> = ArrayList()        constructor(fm: FragmentManager) : super(fm) {            fragments.add(Fragment1())            fragments.add(Fragment2())        }        override fun getItem(position: Int): Fragment {            return fragments[position]        }        override fun getCount(): Int = fragments.size    }}

要记住一点,Fragment使用的是android.support.v4.app.Fragment,而不是android.app.Fragment,把自己坑了很久。

Fragment1的代码:

import android.support.v4.app.Fragmentimport android.os.Bundleimport android.view.LayoutInflaterimport android.view.Viewimport android.view.ViewGroupimport net.intelink.express.CXD.R/** * Created by 陆维淋 on 2017-12-18. */class Fragment1 : Fragment() {    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {        val view = inflater.inflate(R.layout.fragment_1, container, false)        return view    }}

布局文件fragment_1是:

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent">    <TextView        android:layout_width="match_parent"        android:layout_height="match_parent"        android:gravity="center"        android:text="fragment1" /></RelativeLayout>

Fragment2原理与Fragment1相同。


原创粉丝点击