如何在Android中的数组中存储多个值?

时间:2013-11-27 04:20:51

标签: android arrays multidimensional-array arraylist

对于这个例子,我有一个数组:

String[] books = new String[x];

我想在每个位置存储ID和标题:

books[0]=>id:0, title:"book title1"
books[0]=>id:1, title:"book title2"
books[0]=>id:2, title:"book title3"
books[0]=>id:3, title:"book title4"

我想存储id,因为它可能会改变。我从数据库中获取了id和title。获取信息不是问题。我想以这种方式存储它,所以在我的其他函数中返回到我可以使用类似的东西:

btn.setText(regions[i].title)

关于如何处理这个问题的任何建议都会很棒。

3 个答案:

答案 0 :(得分:2)

做一件事,首先创建一个类似BookBean的bean类。 在此声明两个变量ID和Title。并声明getter和setter(如果你正在使用eclipse你可以轻松地通过(Source - >生成getter和setters ..选项)来做到这一点 然后声明一个ArrayList来存储BookBean的vale,如下所示。

 ArrayList<BookBean> bookArrayList=new ArrayList<BookBean>();

   for(int i=0;i<=urSize;i++)
   {
    // create a object for BookBean 
    BookBean book =new BookBean();
    book.setID("what ever");
    book.setTitle("what ever");
    bookArrayList.ass(book)
    }

答案 1 :(得分:2)

最好将 Arraylist 与自定义类一起使用。

看到这个

class Book
{
   String id,title;

   /* Cunstructor to store data */
   public Book(String id,String title) 
   {
       this.id = id;
       this.title = title;
   }
}

//declare arraylist
ArrayList<Book> bookList = new ArrayList<Book>();
bookList.add("1","book1");
bookList.add("2","book2");
bookList.add("3","book3");
bookList.add("4","book4");

btn.setText(bookList.get(i).title)

答案 2 :(得分:1)

我认为你有几个选择

  • 使用HashMap,您可以使用id作为键{value title

  • 定义一个班级并将idtitle保留为attributes,定义get and set methods

将班级objects保持在ArrayList