问题描述
我想在我的ListView显示这些itens
<字符串数组名=bookmark_titles>
<项目>谷歌< /项目>
<项目>宗炳,LT; /项目>
<项目>的Gmail< /项目>
< /字符串数组>
我有得到这些值的方法。
公共静态采集getBookmarks(上下文的背景下){
收藏书签=新集(); 的String []标题= context.getResources()getStringArray(R.array.bookmark_titles)。 的for(int i = 0; I< titles.length;我++){
bookmarks.add(标题[I]);
} 返回书签;
}
我如何调用该方法getBookmarks在我main.java填补的ListView?
我已经创建了一个ListView。它是:
< ListView控件
机器人:ID =@ + ID / my_listView
机器人:layout_width =match_parent
机器人:layout_height =WRAP_CONTENT
机器人:分=#ECECEC进行
机器人:dividerHeight =1SP/>
main.java
我试图做这样的事情:
的ListView LV =(ListView控件)findViewById(R.id.my_listView);ArrayList的<书签及GT; my_array = BookmarkCollection.getTestBookmarks(上下文);
适配器=新ArrayAdapter(这一点,android.R.layout.simple_list_item_1,my_array);
lv.setAdapter(适配器);
您可以创建一个内胆适配器,检查出的静态方法 ArrayAdapter createFromResource(上下文的背景下,诠释textArrayResId,诠释textViewResId)
第一个参数可能会是你的活动,第二个是 R.array.bookmark_titles
,第三是使用布局。
要根据该意见明确,方法接受 INT
,而这正是在生成的研究类存储为。
下面是一个完整的例子,假设这是从一个叫活动:
ArrayAdapter<&CharSequence的GT; AA = ArrayAdapter.createFromResource(这一点,R.array.bookmark_titles,android.R.layout.simple_list_item_1);
myListView.setAdapter(AA);
在这种情况下,
android.R.layout.simple_list_item_1
指的是由Android SDK中提供的XML布局。如果需要,你可以改变这一点。
I want to show these itens at my ListView
<string-array name="bookmark_titles">
<item>Google</item>
<item>Bing</item>
<item>Gmail</item>
</string-array>
I have a method that gets these values.
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;
}
How can I call the method getBookmarks in my main.java to fill the ListView?
I have already created a ListView. It is:
<ListView
android:id="@+id/my_listView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:divider="#ECECEC"
android:dividerHeight="1sp" />
main.javaI am trying to do something like this:
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);
解决方案
You can create your adapter with a one liner, check out the static method ArrayAdapter createFromResource(Context context, int textArrayResId, int textViewResId)
The first argument will probably be your Activity, the second is
R.array.bookmark_titles
, and the third is a layout to use.
To clarify based on the comments, the method accepts
int
, which is exactly what the constants in your generated R
class are stored as.
Here's a complete example, assuming this is being called from an Activity:
ArrayAdapter<CharSequence> aa = ArrayAdapter.createFromResource(this, R.array.bookmark_titles, android.R.layout.simple_list_item_1);
myListView.setAdapter(aa);
In this case,
android.R.layout.simple_list_item_1
refers to an XML layout that is provided by the Android SDK. You can change this if needed.
这篇关于如何填充一个字符串数组一个ListView?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!