Android:2个不同的 View 意味着2个不同的 Activity ?

标签 android android-listview android-gridview

我当前的应用程序有一个 Activity ,主要的 Activity 扩展了 ListActivity(当然是 ListView )。 主 Activity 还包含大部分应用程序功能。

我想添加一个选项供用户在 2 个 View 之间进行选择:当前 listView 和 gridView。 我还想重用我的代码 - 大多数函数都可以用于两个 View 。

在我问实际问题之前,请注意我的问题不是如何添加 gridView - 它已经添加并且效果很好(当注释掉所有 Listview 行时)。

我的问题是 - 我应该怎么做?

  • 2 个不同的 View 是否意味着我必须有 2 个不同的 Activity ?一个扩展“ListActivity”,一个扩展“Activity”?

  • 我是否应该创建 4 个类(在本例中为 3 个 Activity 和函数类),其中主 Activity 将根据用户选择的内容调用其他 Activity 之一?

  • 有没有办法对两个 View 使用相同的主 Activity? (现在我扩展“ListActivity”以获取“getListView()”,这会导致 gridView 在 Activity 查找 ID 为“list”的 ListView 时强制关闭)。

  • 还有其他方法吗?

谢谢!

最佳答案

您可以在不使用 ListActivity 的情况下使用 ListView。如果您的 Activity 代码的其余部分对于 List 和 Grid 表单都相似,我会推荐这种方法。动态选择显示哪一个并定制适配器定义以根据需要根据开关或 if 语句执行这两项操作,而不是使用不同的 Activity。

关于Android:2个不同的 View 意味着2个不同的 Activity ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4980911/

相关文章:

android - "cordova launch success"但手机上没有运行应用程序

android - 支持 Android Q 中的库依赖项

java - 动态添加 View 到自定义 ListView 项目布局不起作用

Android Listview Item-左右滑动得到一个TimePicker和DatePicker

android - 如何创建地点查找器应用程序

android - 我如何放置两个 WebView (一个位于另一个 WebView 之上)

android - 在 Android 上的 ListView 中突出显示所选项目

android - 具有不同列大小的 GridView

android - 具有不同高度的 Gridview 项目 - Android

android - ArrayAdapter<> 在 onPause() 中不清除,android