如何将数据从数据库设置为ListView

时间:2014-03-11 18:50:07

标签: android android-listview android-sqlite

我开发了一个通话录音应用程序。它绝对正确。我设法将所有录制的音频文件显示到listView并设法从listView播放这些文件。我创建了一个数据库,将来电号码显示在listView中。数据库正常工作,它插入和选择数据库中的数据。知道我想将数据库数据显示到ListView中。我怎么能这样做plz帮助。谢谢。我上传代码供您理解。

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    listView = (ListView) findViewById(R.id.mylist);
    mp = new MediaPlayer();

    // database 
            getData = new CallerDatabase(MainActivity.this);
            getData.open();
            receivedData = getData.retrieveData();
            getData.close();
            Toast.makeText(this, ""+receivedData, Toast.LENGTH_SHORT).show();

    FileDataPathForArrayList();
}

private void FileDataPathForArrayList() {
    // this will show the recorded files into ListVIew
    myList = new ArrayList<String>();
    File files = new File(MEDIA_PATH);
    File list[] = files.listFiles();
    for (int i = 0; i < list.length; i++) {
        myList.add(list[i].getName());
    }

知道如何在此ArrayAdapter中显示数据库数据?

    adapter = new ArrayAdapter<String>(this, R.layout.rowlayout,
            R.id.label, myList);

    listView.setAdapter(adapter);

2 个答案:

答案 0 :(得分:1)

我必须从这个

更改ArrayAdapter
 adapter = new ArrayAdapter<String>(this, R.layout.rowlayout,
        R.id.label, myList);

到这个

adapter = new ArrayAdapter<String>(this, R.layout.rowlayout,
        R.id.label, receivedData);

其中receivedData是接收数据表单数据库并将其显示到ListView

的文件夹

答案 1 :(得分:0)

这取决于你想要显示的内容......

如果您只想在列表视图的行中显示一些文本, 这是一个很好的例子=&gt; http://www.androidhive.info/2011/10/android-listview-tutorial/

如果您想自定义列表视图,则需要为listview创建自定义适配器。