2016-08-18 5 views
1

私はアンドロイドが新しく、値がidでキャプションが文字列であるリストビューの項目に値を設定します。 私が探して見つけることができるすべては、彼らは次のように文字列の配列を使用することをお勧めしていることだった。ListViewにstrings.xmlのテキストと値を取り込みます。

何私が探していることのようなものである
<string-array name="test"> 
     <item>first item</item> 
     <item>second item</item> 
</string-array> 

:ちょうどHTML

selectoptionタグのよう

<string-array name="test"> 
     <item value="1">first item</item> 
     <item value="2">second item</item> 
</string-array> 

+0

'ArrayAdapter'は' String [] 'を受け入れます。 XMLリソースから 'String []'を得ることができます。あなたは何をしているのですか? –

+0

@ cricket_007まあ、私はアンドロイドに新しいと言った。 'listview'以外の' view'を探しているかもしれません。各項目のテキストと値を持つビューがありますか? –

+0

似たような質問です。 http://stackoverflow.com/questions/18827470/creating-arrayadapter-using-xml-resource-and-retrieving-id-or-value-fields-u –

答えて

2

新しいアクティビティを作成します(xmlファイル(レイアウト)とJavaクラスを作成します)

On the la YOUT、int型のリストビューありLayot作成:あなたの活動に

<?xml version=”1.0” encoding=”utf-8”?> 
<LinearLayout xmlns:android=”http://schemas.android.com/apk/res/android” 
    android:layout_width=”match_parent” 
    android:layout_height=”match_parent” 
    android:orientation=”vertical” > 

<ListView 
    android:id=”@+id/itemList” 
    android:layout_width=”match_parent” 
    android:layout_height=”wrap_content” 
    android:entries="@array/test" 
/> 

を、あなたがする必要があります。

  • この変数
  • にXMLのビューの地図
  • 変数リストビューを作成します。
  • リソースアレイから文字列のリストを取得
  • あなたのリスト(あなたの場合は文字列)を取得するために、あなたのリストビューで設定しなければならないオブジェクトをインスタンス化し、リサイクラービュー。アダプタのカスタマイズされたクラスを作成することはできますが、Stringを扱う場合はArrayAdapterという単純なクラスを使用できます)。
  • は、あなたのListViewオブジェクトにアダプタを設定し

それらのもののすべてを行うには、あなたのコードでこれを置く:

public class MyActivity extends Activity { 

    // Creating variable 
    ListView listView; 

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

     // Mapping with your XML view 
     listView = (ListView) findViewById(R.id.itemList); 

     /// Getting list of Strings from your resource 
     String[] testArray = getResources().getStringArray(R.array.test); 
     List<String> testList = Arrays.asList(test); 

     // Instanciating Adapter 
     ArrayAdapter<String> adapter = new ArrayAdapter<>(getBaseContext(), 
    android.R.layout.simple_list_item_1, testList); 

     // setting adapter on listview 
     listview.setAdapter(adapter); 
    } 
} 
+0

私はリソースから項目を取得したい –

+0

@AshkanMobayenKhiabaniそれは 'getResources()。getStringArray'が行うことです –

+0

私はあなたがListViewを持つレイアウトを持っていて、単純なArrayAdapterを設定する方法を既に知っていました< >それに。 – LeonardoSibela

0

これは..あなたは、位置によって文字列を取得するのに役立ちます

String[] some_array = getResources().getStringArray(R.array.your_string_array) 
+0

アダプターはどこですか? –

+0

これはアイテムを取得しますが、私はそれを行いましたが、各アイテムに 'id'を割り当てる必要があります –

+0

リソースres = getResources(); String [] item = res.getStringArray(R.array.test); http://stackoverflow.com/questions/30941803/how-to-get-items-from-a-string-array-using-an-id-based-mechanism –

関連する問題