各アイテムをクリックしても「新しいアクティビティ」を開始できません。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 でインテントを次のように宣言します。
<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 でnew を再宣言する必要が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.packageEXCLASS
最終的な結果は次のようになります。
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);