2012-05-10 20 views
14

を文字列配列を取得するには、私は、文字列の配列項目を取得するために作られたコードです。しかしアンドロイド - リソースから以下

<string-array name="menu"> 
     <item>1</item> 
     <item>2</item> 
     <item>3</item> 
     </string-array> 

String[] menuArray; 

@Override 
public void onCreate(Bundle savedInstanceState) 
{  
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    ScrollView sv = new ScrollView(this); 
    LinearLayout ll = new LinearLayout(this); 
    ll.setOrientation(LinearLayout.VERTICAL); 
    sv.addView(ll); 

// Create an ArrayAdapter that will contain all list items 
    ArrayAdapter<String> adapter; 

    menuArray = getResources().getStringArray(R.array.menu); 


    for(int i = 0; i < menuArray.length; i++) 
    { 
     Button b = new Button(this); 
     b.setText(menuArray[i]); 
     ll.addView(b); 
    } 

    this.setContentView(sv); 
} 

これはのstrings.xmlファイルですR.array.menuこの問題はコンパイル時に発生します。 ADT 14以降、リソースフィールドはスイッチのケースとして使用できません。 詳細については、この修正プログラムを呼び出してください。

+0

うん、私はあなたからスナップショットを提供することができますあなたが見たい場合はエミュレータ。 ** count()**の定義が提供されていないので、try catchブロックと一緒に変数** x **の使用をスキップしました。 –

+0

スイッチにリソースIDを使用していますか?チェック[これ](http://stackoverflow.com/questions/8387777/what-is-migrate-android-code) –

+0

私はそれを解決..それは単に私がstrings.xmlからapp_nameを移動するためですLOL –

答えて

4
for(int i = 0;i<menuArray.length; i++) 
{ 
    Button b = new Button(this); 
    b.setText(menuArray[i]); 
    ll.addView(b); 
} 

リソースから文字列配列を取得するためにどのように..

+0

私は上記のコードを更新しています。しかし、R.array.menuにはまだ同じ問題があります。 –

+0

別arrays.xmlを取り、文字列配列を取るT <?xmlのバージョン= "1.0" エンコード= "UTF-8"?> <配列名= "testArray"> ここで第三 第四 第五 c2dm

5

try { 
     x = count(); 
    } catch (IOException e1) { 
     // TODO Auto-generated catch block 
     e1.printStackTrace(); 
    } 

以下の文を削除し、すべてのレイアウトにレイアウトの高さと幅を与えることを試みる:

配列を.xml

<?xml version="1.0" encoding="utf-8"?> 
<resources> 

    <string-array name="my_string_array"> 
     <item>one</item> 
     <item>two</item> 
     <item>three</item> 
    </string-array> 

</resources> 

コード

String[] stringArray = getResources().getStringArray(R.array.my_string_array); 

(OPは、すでに彼らの質問は答えたが、質問のタイトルに基づいていた、他の人がこの回答を探してここに来るかもしれない。)

関連する問題