在我正在移植的这个应用程序中使用的UITableView的Android等价物是什么?

时间:2016-10-09 13:40:29

标签: android ios uitableview listview android-fragments

我正在尝试将iOS应用移植到Android。我是一个Android noob,但我在iOS上很有经验。这是我的应用程序的屏幕截图。

enter image description here

UITableView具有自定义单元格类型:切换单元格,点击以打开和关闭开关。多值单元格:点按以展开UIPickerView。我的iOS应用程序还有一个用于更多屏幕的标签栏。

所以我开始使用Android Studio中的默认TabLayout模板,并让它显示三个不同的片段。

然后我继续制作主界面。那是PreferenceFragment在我的搜索中出现,并且看起来是一个非常好的主意 - 我的iOS应用程序有一个相对复杂的架构来跟踪状态,PreferenceFragment承诺照顾这是透明的,所以我在。

然而,TabLayout does not seem to like PreferenceFragments因为它们与 compat 片段不同(我做得对吗?)。无论如何,相关的问题提出了一些我不愿意遵循的解决方案(重新发明轮子?严重吗?)。

阅读时,人们建议我可能会使用PreferenceActivity,但我真的很喜欢片段的想法,主要是因为我希望我的应用扩展到平板电脑并具有“不同”的用户界面,两个不同的参数列表并排显示 - 片段作业,对吧?

现在,我能想到的最好的就是回到RecyclerView,所以我的问题是:是吗?如果是这样,RecyclerView是否同时支持UITableView这样的不同类型的单元格?我还应该说,我并不特别关心Android< 5.0,如果这有帮助......

将iOS应用程序移植到Android时,我可以遵循的任何其他提示或指示?

1 个答案:

答案 0 :(得分:0)

TabLayout似乎不喜欢PreferenceFragment的原因是因为PreferenceFragment延伸android.app.Fragment而非android.support.v4.app.Fragment(你确实做到了这一点), TabLayout(实际上,FragmentPagerAdapter)期望。

如果您希望PreferenceFragment的功能与其他app-compat小部件配对,请导入v7 Preference Support Library

compile 'com.android.support:preference-v7:24.2.1'

然后你可以扩展android.support.v7.preference.PreferenceFragmentCompat,它本身从android.support.v4.app.Fragment延伸。