单击每个项目时无法启动“新 Activity ”,我正在使用 if-else 等条件,
if (item.equals("Aerosol")) {
startActivity(new Intent(Search.this, Aerosol.class));
startActivity(intent);
我用这个没有什么问题,但是我不能去下一个类。
最佳答案
为了启动一个 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
哪里.MainActivity
是类的名称,com.example.package
是你的包名称,EXCLASS
是您想要的任何名称,但请记住您的名称。
对于您想要开始的每一项新 Activity ,您应该重新声明一个新的 <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>
在您的类(class)(我的示例中的 MainActivity)中,您将声明 startActivity(new Intent("com.example.package.EXCLASS"));
哪里com.example.package
是你的包名称,EXCLASS
是您在 AndroidManifest 中声明的内容。
最终结果是:
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"));
}
希望这有帮助!
关于android - 我无法使用 Intent 进入下一个 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12235861/