单击每个项目时,我无法启动“新活动”,我正在使用 if-else 之类的条件,
if (item.equals("Aerosol")) {
startActivity(new Intent(Search.this, Aerosol.class));
startActivity(intent);
我用这个没有错,但我不能去下一堂课。
单击每个项目时,我无法启动“新活动”,我正在使用 if-else 之类的条件,
if (item.equals("Aerosol")) {
startActivity(new Intent(Search.this, Aerosol.class));
startActivity(intent);
我用这个没有错,但我不能去下一堂课。
为了启动一个意图,在 AndroidManifest 中声明 Intent 如下:
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name">
<activity
android:name=".MainActivity"
android:label="@string/title_activity_main" >
<intent-filter>
<action android:name="com.example.package.EXCLASS" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
</application
where.MainActivity
是类的名称,com.example.package
是您的包名称,EXCLASS
是您想要的任何名称,但请记住您命名它的名称。
对于你想开始的每一个新活动,你应该<activity> />
在 AndroidManifest 中重新声明一个新的,具有相同的包名,一个新词而不是EXCLASS
,并且android:name=".MainActivity"
应该更改为类名的精确副本,并在正面。这应该放在<application> />
声明之后,所以它看起来像这样:
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".StartingActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="com.example.package.EXCLASS" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
</application>
在您的类中,在我的示例中为 MainActivity,您将声明您的包名称startActivity(new Intent("com.example.package.EXCLASS"));
在哪里,并且是您在 AndroidManifest 中声明的任何内容。com.example.package
EXCLASS
最终结果将是:
private void select(String item) {
try {
if (item.equals("Aerosol")) {
startActivity(new Intent("com.example.package.CLASSONE"));
}
if (item.equals("Aluminium")) {
startActivity(new Intent("com.example.package.CLASSTWO"));
}
希望这有帮助!
你需要做的是,实例化新的意图,而不是调用意图。
你应该这样做:
if (item.equals("Aerosol")) {
intent = new Intent(Search.this, Aerosol.class);
}else if (item.equals("Aluminium")) {
intent = new Intent(Search.this, Aluminium.class);
}
startActivity(intent);