2013-05-15 35 views
0

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

单程我知道要做到这一点是,

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> 

简单的代码。不想使用意图过滤器所以请给我替代我可以在这种情况下使用。

+0

嗨,欢迎来到SO,检查我的回答 – Pragnani

回答

0

或者倒过来

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

然后,当你想要显示活动的名称,使用classes[position].getSimpleName();

+0

谢谢..我适用于我.. – user2058320

0

使用此代码:

Class chooseClass = null; 
switch(position) 
{ 
case 0 : chooseClass = firstActivity; 
     break; 
case 1 : chooseClass = DetailActivity; 
     break; 
} 
if(chooseClass != null) 
    startActivity(new Intent(context, chooseClass); 
+0

感谢,也为我的作品.. – user2058320

0

通过代码,您可以用启动它:

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

现在你不需要过滤器。