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