所以基本上我正在创建一个非常简单的应用程序,只有2个布局,我想要从一个到另一个正确。我从我读过的内容中知道,如果你想在同一个项目上创建一个新的屏幕/活动,你首先必须创建新的布局(我已经做过),我知道现在我必须创建活动和对宣言做些什么,但我不知道那是什么。我似乎有一些关于youtube的视频,但我不知道如果我希望我的新活动成为默认活动,那么是否会改变任何事情。
正如您将能够在附图中看到的那样,“activity_questions”是我创建项目时的第一个布局。现在我想为应用程序创建一个新的屏幕/布局,即“noquestions_layout”。但是,我想创建我为用户创建主屏幕/活动的新布局,并且我的“activity_questions”是我的数据库将某些信息提供给应用程序时将弹出的布局。
我怎么能做到这一切?我知道这是你只需要学习一次的东西......这听起来很简单,如果是新手,我道歉。不久前我基本上开始学习android studio。
你不需要告诉我需要在我的应用程序中添加的所有代码,只需要一些带有指导的基本示例......“在这里创建Y,然后将X放在那里”
答案 0 :(得分:1)
对于新的屏幕布局,创建一个新活动并在那里调用该布局文件。
要在应用启动时将任何活动作为您的第一个活动,您必须转移清单并将意图过滤器标记粘贴到您想要首先启动的活动
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
假设您想要创建另一个活动示例.SecondActivity作为开始活动切割上方的意图过滤器标记并将其粘贴到此处
<activity android:name=".SecondActivity ">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".MainActivity ">
</activity>
答案 1 :(得分:0)
首先创建两个活动,Say,Activity_A和Activity_B。
对于第一个活动,请将此代码放在清单中:
<activity android:name=".Activity_A">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
对于第二项活动,请使用以下代码:
<activity android:name=".SecondActivity ">
</activity>
此处,应用程序启动时启动的Activity是Activity_A,因为Activity_A的清单中有intent过滤器:
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
现在,由于您已经拥有了您的活动,布局就绪,应用程序启动后立即启动Activity_A,从Activity_A启动Activity_B,请使用以下代码:
Intent intentTour = new Intent(Activity_A.this, Activity_B.class);
intentTour.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); //This line is optional, better to use it because it won't create multiple instances of the launching Activity.
startActivity(intentTour);
答案 2 :(得分:0)
在Android Studio中创建新活动时,Studio将为您的活动创建相应的资源文件和清单条目。
比如说,你有两个活动QuestionsActivity和NoQuestionsActivity。 QuestionsActivity将是您的默认启动活动。使NoQuestionsActivity成为您的发布活动。打开清单文件,在NoQuestionsActivity的活动标记下包括意图过滤器,并从
中删除意图过滤器<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".QuestionsActivity"></activity>
<activity android:name=".NoQuestionsActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
要从一个活动切换到另一个活动,请说从NoQuestionsActivity到QuestionsActivity使用意图以下代码 -
Intent questionsIntent = new Intent(NoQuestionsActivity.this, QuestionsActivity.class);
startActivity(questionsIntent);
如果要将值传递给QuestionsActivity,请将其作为额外内容传递给intnet。
希望这会有所帮助。