0

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

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

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

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

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

4

1 回答 1

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 在同一个活动中打开另一个 Listview,关闭前一个。

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

于 2012-08-12T12:39:00.513 回答