我正在尝试使用Android Studio构建一个简单的Android应用。该应用程序具有主要布局和十个或更多子布局。只需按一下按钮,用户就可以移动到其中一个子布局。用户将按后退按钮返回主布局。每个子布局都是独立布局,与主布局或其他子布局没有关系或依赖关系。
我已经阅读了多个教程并查看了很多示例。我试图了解我应该使用什么Android组件来构建这个简单的应用程序及其子布局。
我首先尝试将每个子布局都设为活动,然后使用
Intent intent = new Intent(this, DistPerVol.class);
startActivity(intent);
从主布局切换到其中一个子布局。但是,由于每个子布局都是一个单独的活动,因此在安装应用程序时,它在应用程序屏幕上有多个图标。
我接下来尝试只使用一个活动并使用
切换到子布局setContentView(R.layout.dist_per_vol);
从主布局切换到其中一个子布局。但是,这导致后退按钮离开应用程序而不是备份到主布局。
今天,我读到了NavigationDrawer,ActionBar和片段。我不想继续尝试不同的组件。我想要一个允许用户选择子布局的主布局,后退按钮返回主布局,但没有多个活动。我应该使用哪些Android组件来实现它?
也许多种活动是正确的方法,但我已经错误地构建了我的AndroidManifest.xml。这是我的AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="edu.byui.cit360.calculators">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".Calculators">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".ComparePrices">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".Tip">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".DistPerVol">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
答案 0 :(得分:1)
片段是完美的类。
Fragment表示一个行为或用户界面的一部分 活动。 https://developer.android.com/guide/components/fragments.html
您可以将您的按钮放在活动中,以便通过FragmentManager管理要显示的片段。
答案 1 :(得分:1)
像Gabe Sechan指出的那样:只有一个Activity
应该有意图过滤器。然后主屏幕上只会显示一个启动器图标,用户将看到的第一个Activity
是带有意图过滤器的Activity
。
可以编写一个包含多个Activity
而非单个Fragment
的应用。 (事实上,在Android 3.0之前,每个人都这样做了。)这些应用程序还可以具有ActionBar或NavigationDrawer等功能。
一开始可能不喜欢Fragment
,因为它们似乎很复杂。但使用它们也会带来好处。例如,只有一个Activity
和几个Fragment
的应用可以使用相同的导航抽屉(设置可能发生在Activity
)
答案 2 :(得分:0)
您应该将ListView用于此类实现,将listview作为主要布局(或主要活动)并在每个列表元素上附加OnclickListener,每当您单击任何列表元素时,您将转到新活动。 you can see the implementation of listview here on this link