2017-08-07 67 views
0

目前我正在使用Android Studio开发应用程序。使用动态创建的字符串检索数组信息

让我们假设我有3个按钮,这些按钮负责检索和显示相同的类型信息,例如,点击联系人列表中的特定联系人。区别在于每个联系人都是唯一的。

我想让所有的按钮具有相同的onClick函数,该函数创建一个特定于该按钮的字符串,然后可以使用该字符串从数组中获取信息。到目前为止我有;

public void contactDetails(View view) 
{ 
    String tag = String.valueOf(view.getTag()); 
    String array_id = tag + "_array"; 
} 

这是能够创建我想要使用的字符串,唯一的问题是,当我打电话;

String[] contact_array = getResources().getStringArray(R.array.array_id); 

它不工作,看到了getStringArray参数是一个int,而不是一个字符串。

我想知道是否有人知道解决方案?我知道可以创建一个switch来处理被按下的不同按钮,但我认为我的做法可能更容易让动态创建更多按钮。使用arr_id

int arr_id = getResources().getIdentifier(array_id, "array", getPackageName()); 

现在得到阵列:

感谢

+1

我在这种情况下,你会建议,如果那是你真正想做的事情,那么你使用HashMap或HashTable来存储数据。这很容易让你使用字符串作为键。 – SchoolBoy

回答

0

使用getResources().getIdentifier摆脱使用字符串名称资源数组:数组的

获取资源ID

String[] contact_array = getResources().getStringArray(arr_id);