Android 按字符串文本获取字符串数组
我有以下代码:Android 按字符串文本获取字符串数组,android,arrays,string,Android,Arrays,String,我有以下代码: ArrayAdapter<String> mAdapter = new ArrayAdapter<String>(countries2.this, android.R.layout.simple_list_item_1, getResources().getStringArray(R.array.Europe)); listView.setOnItemClickListener(new Adapt
ArrayAdapter<String> mAdapter = new ArrayAdapter<String>(countries2.this,
android.R.layout.simple_list_item_1,
getResources().getStringArray(R.array.Europe));
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Intent intent = new Intent(countries2.this, ListActivity.class);
intent.putExtra("CountryName", listView.getItemAtPosition(i).toString());
startActivity(intent);
}
});
listView.setAdapter(mAdapter);
如何动态设置应获取的数组?与其直接在适配器中传递getStringArrayR.array.Europe返回的数组,不如在外部创建字符串数组引用。在用户交互的基础上,检查用户选择了什么,并在条件语句中获取字符串数组,引用适配器中传递的引用数组,然后通知适配器。希望你能回答这个问题。使用以下代码将您的代码更改为已初始化的适配器
String [] array = getResources().getStringArray(R.array.Europe);
ArrayAdapter<String> mAdapter = new ArrayAdapter<String>(countries2.this,
android.R.layout.simple_list_item_1,
array
);
当用户代表该用户交互更改选项时,请重新填充阵列并通知适配器,您可以使用getIdentifier
试试这个
String stringname = "Europe";
int resourceId = getResources().getIdentifier(stringname , "array",
this.packageName);
ArrayAdapter<String> mAdapter = new ArrayAdapter<String>(countries2.this,
android.R.layout.simple_list_item_1,
getResources().getStringArray(resourceId));
不太清楚您想做什么我尽量不预设getStringArrayR.array.Europe;我尝试根据用户交互动态设置getStringArray。所以我有不同的阵列欧洲,非洲,美国,。。。并希望在应用程序运行时动态显示它们。它应该显示在Listview中。数组包含包含更多信息的项显示我可以这样做吗?我是Android开发的新手。很高兴能帮助你
String stringname = "Europe";
int resourceId = getResources().getIdentifier(stringname , "array",
this.packageName);
ArrayAdapter<String> mAdapter = new ArrayAdapter<String>(countries2.this,
android.R.layout.simple_list_item_1,
getResources().getStringArray(resourceId));