我想在我的ListView中显示这些itens
<string-array name="bookmark_titles">
<item>Google</item>
<item>Bing</item>
<item>Gmail</item>
</string-array>
Run Code Online (Sandbox Code Playgroud)
我有一个获取这些值的方法.
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;
}
Run Code Online (Sandbox Code Playgroud)
如何在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" />
Run Code Online (Sandbox Code Playgroud)
main.java我想做这样的事情:
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);
Run Code Online (Sandbox Code Playgroud)
wsa*_*lle 12
您可以使用单行创建适配器,查看静态方法 ArrayAdapter createFromResource(Context context,int textArrayResId,int textViewResId)
第一个参数可能是你的Activity,第二个是R.array.bookmark_titles,第三个是要使用的布局.
为了澄清基于注释,该方法接受int,这正是生成的R类中的常量存储为.
这是一个完整的例子,假设这是从一个Activity调用的:
ArrayAdapter<CharSequence> aa = ArrayAdapter.createFromResource(this, R.array.bookmark_titles, android.R.layout.simple_list_item_1);
myListView.setAdapter(aa);
Run Code Online (Sandbox Code Playgroud)
在这种情况下,android.R.layout.simple_list_item_1指的是Android SDK提供的XML布局.如果需要,您可以更改此设置.
| 归档时间: |
|
| 查看次数: |
19252 次 |
| 最近记录: |