【发布时间】:2018-06-14 10:47:29
【问题描述】:
我正在尝试实现一个简单的 TimePickerDialogue 片段,该片段在布局中按下按钮时显示,该按钮也是一个片段。 Android 开发者指南用 Java 显示了这一点:
public void showTimePickerDialog(View v) {
DialogFragment newFragment = new TimePickerFragment();
newFragment.show(getSupportFragmentManager(), "timePicker");
}
然后说:
show() 方法需要 FragmentManager 的实例和片段的唯一名称。
当我将它转换为 Kotlin 时,没有提供 getSupportFragmentManager 方法。我应该改用什么?
class AlertsFragment : Fragment() {
fun showTimePickerDialog(v: View) {
val newFragment = TimePickerFragment()
newFragment.show(FragmentManager(), "timePicker") // WHAT FRAGMENTMGR???
}
}
我正在导入android.support.v4.app.Fragment
我的 MainActivity 将显示 TimePickerDialogue 片段以及具有打开 TimePickerDialogue 的按钮的片段。 MainActivity 有一个使用片段的选项卡布局。 是否需要在 MainActivity 中更改任何内容以使 TimePickerDialogue show() 函数在 AlertsFragment 中工作?
class MainActivity : FragmentActivity(){
private lateinit var pagerAdapter: TabPagerAdapter
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
pagerAdapter = TabPagerAdapter(supportFragmentManager)
pagerAdapter.addFragments(WorkoutGridFragment(), "Workouts")
pagerAdapter.addFragments(AlertsFragment(), "Reminders")
pagerAdapter.addFragments(AboutFragment(), "About")
// customViewPager is the viewpager created in the activity_main xml layout
customViewPager.adapter = pagerAdapter
// set up the viewpager with the tablayout
customTabLayout.setupWithViewPager(customViewPager)
}
}
【问题讨论】:
标签: android android-fragments kotlin dialog datetimepicker