各アイテムをクリックしても「新しいアクティビティ」を開始できません。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.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);