android - 我无法使用 Intent 进入下一个 Activity

标签 android android-layout android-intent android-widget

单击每个项目时无法启动“新 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/

相关文章:

android 在所有 Activity 前保持一个 View

android - 如何更改操作栏的颜色(actionbarsherlock)

android - Intent anchor 语法说明

java - Android 新 Activity 未启动

android - 设置免安装应用时出错

android - 如何在 Android 上使用 OpenCV 提高人脸检测性能?

安卓 : swipe between activities using a single resource

java - 构造函数 MainActivity.MyTask(TextView) 未定义

android - RelativeLayout 的 layout_above 给出 "No resource found"错误

java - android TextView设置文本问题