2012-08-07 76 views
0

试图采取一个数组位置(的toString),并传递到一个新的活动,则使用该字符串以选择阵列中的新活动打开。使用字符串来选择阵列

Intent launchingIntent = getIntent(); 
String content = launchingIntent.getData().toString(); 
setListAdapter(ArrayAdapter.createFromResource(getApplicationContext(), R.array.????, R.layout.main)); ` 

的R.array。????需要传递的字符串(字符串内容),因为这是我的数组的名称,以跟进。

我不能找到一种方法,将字符串变量传递给阵列使用的名称。

编辑:我试着去得到一个ListView控件在同一actvity开辟另一个列表视图,关闭前一个。

回答

0

的R.array。????需要是传递的字符串(字符串 内容),因为这是我的数组的名称以跟进。

使用getIdentifier()方法:

Intent launchingIntent = getIntent(); 
String content = launchingIntent.getData().toString(); // this returns the Uri, are you sure you didn't want to get the text from an extra field set in the Intent 
int id = getResources().getIdentifier(content, "array", getPackageName()); 
setListAdapter(ArrayAdapter.createFromResource(getApplicationContext(), id, R.layout.main)); 

我试着去得到一个ListView控件在同一 actvity开辟另一个列表视图,关闭前一个。

我会建议,因为你失去了后退按钮的功能(这可能会混淆用户)。而是使用不同的活动将相关数据传递给Intents或使用片段(特别是ListFragments)。

+0

所以有多个(比如说20+)的课程不会让我的应用程序停滞不前? – IamERROR 2012-08-30 02:11:21

+0

@IamERROR你不应该为第一个'ListView'中的每个条目使用一个活动(这是你想要做的?)。相反,创建两个活动,一个是最初的ListView,另一个是使用上一个活动信息来设置UI的“详细ListView”。 – Luksprog 2012-08-30 04:15:17