2017-08-07 16 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を押して別のボタンを処理するために作成することができますが、私はそれを行う私のやり方は、より多くのボタンの動的作成を許可する方が簡単かもしれないと思った。文字列名を使用してリソースから配列を取得するための

+1

Iこの場合、もしあなたが本当にやりたいことがあればデータを格納するHashMapまたはHashTable。これにより、文字列をキーとして簡単に使用できます。 – SchoolBoy

答えて

0

使用getResources().getIdentifier

ありがとう:

は、アレイのリソースIDを取得します。

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

は今、アレイはarr_idを使用します:

String[] contact_array = getResources().getStringArray(arr_id); 
関連する問題