2017-08-07 61 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);