使用字符串选择数组

时间:2012-08-07 23:39:58

标签: android arrays android-listview android-activity

尝试获取Array位置(toString)并将其传递给新活动,然后使用该字符串选择要在新活动中打开的数组。

Intent launchingIntent = getIntent();
String content = launchingIntent.getData().toString();
setListAdapter(ArrayAdapter.createFromResource(getApplicationContext(), R.array.????, R.layout.main)); `
R.array。?????需要是传递的字符串(字符串内容),因为这是我要跟进的数组的名称。

我找不到将字符串变量传递给要使用的数组名称的方法。

编辑:我试图让一个listView在相同的活动中打开另一个Listview,关闭前一个。

1 个答案:

答案 0 :(得分:0)

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

使用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打开另一个Listview   行动,关闭前一个。

我建议不要这样做,因为你失去了后退按钮的功能(可能会让用户感到困惑)。而是使用不同的活动通过Intents传递相关数据或使用片段(尤其是ListFragments)。