2012-10-25 27 views
5

私はこれらの値を取得するメソッドを持っている私のListViewListViewを文字列配列で埋め込む方法は?

<string-array name="bookmark_titles"> 
    <item>Google</item> 
    <item>Bing</item> 
    <item>Gmail</item> 
</string-array> 

でこれらitensを示したいと思います。

public static Collection getBookmarks(Context context) { 
    Collection bookmarks = new Collection(); 

    String[] titles = context.getResources().getStringArray(R.array.bookmark_titles); 

    for (int i = 0; i < titles.length; i ++) { 
     bookmarks.add(titles[i]); 
    } 

    return bookmarks; 
} 

main.javaのgetBookmarksメソッドをListViewに含めるには、どうすればよいですか?

私はすでにListViewを作成しています。これは、次のとおりです。

<ListView 
    android:id="@+id/my_listView" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:divider="#ECECEC" 
    android:dividerHeight="1sp" /> 

main.java 私はこのような何かをしようとしています:あなたは1つのライナーであなたのアダプタを作成することができます

ListView lv = (ListView) findViewById(R.id.my_listView); 

ArrayList<Bookmark> my_array = BookmarkCollection.getTestBookmarks(context); 
adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, my_array);  
lv.setAdapter(adapter); 

答えて

9

静的メソッドをチェックアウトArrayAdapter createFromResource(Context context, int textArrayResId, int textViewResId)

最初の引数はおそらくアクティビティ、2番目の引数はR.array.bookmark_titles、3番目の引数は使用するレイアウトです。

コメントに基づいて明確にするために、メソッドはintを受け取ります。これは、生成されたRクラスの定数がまさにどのように格納されているかを示しています。

こここれはActivityから呼び出されていると仮定すると、完全な例は次のとおりです。この場合

ArrayAdapter<CharSequence> aa = ArrayAdapter.createFromResource(this, R.array.bookmark_titles, android.R.layout.simple_list_item_1); 
myListView.setAdapter(aa); 

android.R.layout.simple_list_item_1は、Android SDKによって提供されるXMLレイアウトを指します。必要に応じてこれを変更することができます。

+1

データを与える。そして 'とリストビューに' ArrayAdapter.createFromResource() 'からの戻り値を添付する配列またはリストのいずれかを使用することができますlv.setAdapter() ' –

+0

私は試してみます。 ArrayAdapter()メソッドを使用していますが、動作していません。 – androidevil

+0

textArrayResId \tデータソースとして使用する配列の識別子。 textViewResId \tビューを作成するために使用されるレイアウトの識別子。 これはどういう意味ですか?彼らはintです。どこでこれらの値を得るのですか?ありがとうございました。 – androidevil

3

あなたはArrayAdapterでこれを行うと、それはそれを

lv.setAdatper(new ArrayAdapter<String>(context, R.layout.some_layout_to_use, R.id.some_textview_in_layout, listData); 
+0

申し訳ありませんが、わかりませんでした。例を挙げてください。私のコードは、今、私がやろうとしている方法を含んでいます。ありがとうございました! – androidevil

関連する問題