0

私は1つのAndroidアプリに取り組んでおり、アクティビティ名のリストを表示する1つのメニューがあります。メニューから任意の項目をクリックすると、その特定のアクティビティが開始されます。

これを行うために私が知っている1つの方法は、

String classes[]= {"firstActivity","DetailActivity"}; intent i =new Intent(pkg_name+classes[position]);startActivity(i); 

位置= 0または1。そのために、各アクティビティのコードの下にAndroidManifest.xmlファイルに書き込む必要があります

<activity
        android:name="com.example.day1.DetailActivity"
         >
        <intent-filter>
            <action android:name="com.example.day1.DetailActivity" />
            <category android:name="android.intent.category.DEFAULT" />

        </intent-filter>
    </activity>

しかし、私はただ欲しい

<activity android:name=".DetailActivity"></activity>

シンプルなコード。インテントフィルターを使用したくないので、この場合に使用できる代替手段を教えてください。

4

3 に答える 3

1

またはその逆

Class classes[] = [ firstActivity.class, DetailActivity.class];
Intent i = new Intent(this, classes[position]);
startActivity(i);

次に、アクティビティの名前を表示する場合は、classes[position].getSimpleName();

于 2013-05-15T13:24:13.277 に答える
0

コードを介して、次のように起動できます。

Intent i = new Intent(this, DetailActivity.class);
startActivity(i);

これでフィルターは必要ありません。

于 2013-05-15T11:52:52.377 に答える
0

このコードを使用してください:

Class chooseClass = null;
switch(position)
{
case 0 : chooseClass = firstActivity;
         break;
case 1 : chooseClass = DetailActivity;
         break;
}
if(chooseClass != null)
    startActivity(new Intent(context, chooseClass);
于 2013-05-15T11:50:00.763 に答える