kotlin如何使用FragmentPagerAdapter
16lz
2021-01-26
主界面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 = 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"?>
Fragment2原理与Fragment1相同。
更多相关文章
- android界面小程序
- Android编译环境配置
- Android应用欢迎界面实现
- 自定义通知栏布局
- android打电话简单功能(完整代码)
- 使用线性布局LinearLayout实现类似计算器的效果
- 仿照探探卡片滑动
- android踩坑记(1)java.lang.RuntimeException
- RecyclerView嵌套ScrollView,滑动卡顿解决方案,滑动冲突解决方案