0

我正在开发一个 android 应用程序,其中我有一个显示活动名称列表的菜单。单击菜单中的任何项目后,应启动该特定活动。

我知道的一种方法是,

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

其中位置 = 0 或 1。为此,我需要在 AndroidManifest.xml 文件中为每个 Activity 编写下面的代码

<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 回答