Hello其他程序员,我有这段代码
public class IdiomsCollection {
private ArrayList<Idiom> idiomsList = new ArrayList<Idiom>();
public IdiomsCollection() {
loadIdioms();
}
private void loadIdioms() {
//creating new items in the list
Idiom i1 = new Idiom();
i1.setPhrase("Piece of cake");
i1.setMeaning("When something is easy to do");
i1.setUsage("That test that I took was a piece of cake");
idiomsList.add(i1);
}
}
我想将我的ArrayList的内容添加到另一个类的onCreate()方法中,所以当我运行应用程序时,我会在屏幕上看到我的列表。我不知道怎么做,有人可以帮助我吗?
答案 0 :(得分:0)
利用继承。 这是像这样的创建类
public class IdiomsCollection extends ArrayList<Idiom> {
public IdiomsCollection() {
loadIdioms();
}
private void loadIdioms() {
//creating new items in the list
Idiom i1 = new Idiom();
i1.setPhrase("Piece of cake");
i1.setMeaning("When something is easy to do");
i1.setUsage("That test that I took was a piece of cake");
this.add(i1);
}
}
答案 1 :(得分:0)
我建议您使用ArrayAdapter,如果您没有特殊需求,可以在ListView中为行使用标准布局。代码或多或少看起来像:
public class IdiomsCollection {
.....
public List<Idioms> getIdiomsList() {
return idiomsList;
}
}
在我们的活动中
public void onCreate(..){
ListView lv = (ListView) findViewById(R.id.listView);
List<Idiom> idiomList = ( new IdiomsCollection()).getIdiomsList();
final ArrayAdapter<Idiom> aAdpt =
new ArrayAdapter<Idiom>(this,
android.R.layout.simple_list_item_1, idiomListList);
lv.setAdapter(aAdpt);
}
为IdiomClass提供toString方法,并为Activity提供布局。 如果您想要更多地控制如何在listview行中显示Idioms数据,您可以实现自定义适配器。 看看我的博客here对于ArrayAdapter你可以找到一个有用的例子。还有我的博客here,以防您想要创建自己的适配器。