使用动态创建的字符串来检索数组信息

时间:2017-08-07 11:17:52

标签: java android

目前我正在使用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来处理被按下的不同按钮,但我认为我这样做的方式可能更容易动态创建更多按钮。

由于

1 个答案:

答案 0 :(得分:0)

使用getResources().getIdentifier使用String name从资源中获取Array:

获取Array的资源ID:

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

现在使用arr_id获取数组:

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