2012-09-06 32 views
0

嗨我之前问过我如何更新列表视图,并得到了使用ArrayAdapter的建议。我现在遵循的事情是问题是关于它更新列表视图,但不是与期望值的某些对象。如何从ArrayList <String[]>获得列表视图中的字符串值?

我的代码是这样的:

Cursor cursor = db.rawQuery("SELECT count(*) FROM BOOKMARKS ", null); 
     //if any contact found moveToFirst of that contacts or points to 1st email 
     cursor.moveToFirst(); 
     //checking columns exhist or not 
     if (cursor.getInt(0) > 0) 
     { 
      //get all the contacts from table 'BOOKMARKS' 
      c = db.rawQuery("SELECT * FROM BOOKMARKS", null); 
      //get the index of mentiond and required columns 
      ID = c.getColumnIndex("ID"); 
      booktitl = c.getColumnIndex("Booktiltle"); 

      audiotime=c.getColumnIndex("BookmarkTime"); 

      // Check result. 
      c.moveToFirst(); 
      if (c != null) 
      { 
       // Loop through all Results 
       do 
       { 
        cont = new String[3]; 
        cont[0] = Integer.toString(c.getInt(ID)); 
        cont[1] = c.getString(booktitl); 
        cont[2] = c.getString(audiotime); 
        audiobooks.add(cont); 

       } 
       while(c.moveToNext()); 

c.close(); 
       db.close();//close db resources 


       ArrayAdapter<String[]> arrayAdapter1=new ArrayAdapter<String[]>(this, R.layout.row3, R.id.itemr1,audiobooks); 
       lv.setAdapter(arrayAdapter1); 

我要如何在列表视图的字符串值实际上是从数据库中获取并存储到Arraylist.At目前,我显示在列表视图,但我的一些对象值的值?想要显示“有声读物”所拥有的内容。请帮我解决它。

+0

看看这个伟大的深入教程上ListView和ListActivities:http://www.vogella.com/articles/AndroidListView/article.html –

回答

0

你不能给ArrayAdapter类型String[],因为你给它一个List叫做有声读物。

另外,我不确定标准ArrayAdapter是否可以处理数据类型List<String[]>。它可能行不通。如果它不起作用,你将不得不通过扩展它来自己实现ArrayAdapter

+0

好吧,我会试穿它。 –

0

如果我理解正确,您希望使用数据库中每行的数据填充ListView。您必须使用与数据库行相对应的成员变量创建一个新类型的有声读物。然后在res/layouts文件夹中创建一个必须显示对象数据的布局。创建一个扩展ArrayAdapter类的新类,在该类中使用创建的布局充填视图并用子视图填充listview。然后在你的主体中,你将新的适配器设置到列表中。

一个ArrayAdapter应该是这样的:

public class AudiobookAdapter extends ArrayAdapter<Audiobook> { 
    // constructor 

    // here you populate each view and put it in listview 
    public View getView (int position, View convertView, ViewGroup parent) 
{ 
    } 
} 

这是一个起跑线上,你应该多看有关扩展arrayadapters和自定义列表视图。

+0

Ya您确定您正确@Emil Pana我想从数据库的每一行填充数据并将其显示在列表视图中。 –

+0

请保持我们与您的问题日期,如果您需要任何东西或不明白,请张贴在这里。 –

相关问题