0

vogella's tutorial for sqlite in android のガイダンスを使用して、android でリストを表示しようとしています。

これは私の ProjectListDataSource クラスの一部です (これは sqlite データベースからすべてのデータを取得します):

  public List<ProjectList> getAllProjects() {
        List<ProjectList> projects = new ArrayList<ProjectList>();

        Cursor cursor = database.query(ProjectListHelper.TABLE_PROJECT_LIST,
            allColumns, null, null, null, null, null);

        cursor.moveToFirst();
        while (!cursor.isAfterLast()) {
            projects.add(cursorToProjectList(cursor));
          cursor.moveToNext();
        }
        // make sure to close the cursor
        cursor.close();

        return projects;
      }

private ProjectList cursorToProjectList(Cursor cursor) {
    ProjectList projList = new ProjectList();
    projList.setId(cursor.getLong(0));
    projList.setProjName(cursor.getString(1));
    projList.setProjComment(cursor.getString(2));
    projList.setProjDateTime(cursor.getString(3));

    return projList;
  }

そして、これは私の活動クラスです:

    public class ProjectListActivity extends ListActivity implements
    OnClickListener {
private static final String TAG = "ProjectListActivity";

private ProjectListDataSource datasource;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_projectlist);
    Log.d(TAG, "On Creat'd");
    init();

}


private void init() {
    // Getting data from database and adding to ListView
    datasource = new ProjectListDataSource(this);
    datasource.open();

    List<ProjectList> values = datasource.getAllProjects();

    ArrayAdapter<ProjectList> adapter = new ArrayAdapter<ProjectList>(this,
            android.R.layout.simple_list_item_activated_1, values);
    setListAdapter(adapter);
}

しかし、それを行うと、次のような予期しない結果が得られます(画像を参照):

http://i.imgur.com/tQMooi8.png

しかし、データベースには次のようなレコードがあります (画像を参照)。

http://i.imgur.com/HfY2azs.png

データベースのようにリストビューにレコードを表示できない理由について、誰かが説明して解決策を教えてください...

ありがとう、ヴィニー

4

2 に答える 2