Проблема с использованием курсора для заполнения счетчика - PullRequest
1 голос
/ 16 июня 2011

У меня проблема с заполнением моего счетчика данными из базы данных SQLite. Вот код из моей деятельности. Активность завершается с ошибкой «Невозможно запустить активность», где это указано стрелкой.

public class ProjectsActivity extends Activity {

private ReelDbAdapter dbHelper;

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

    fillProjectSpinner();

}

private void fillProjectSpinner(){
    // initialize cursor to manage data binding to spinner

    Cursor projectCursor = null;
    Spinner spnExistingProjects = (Spinner)findViewById(R.id.spnExistingProject);

--->    projectCursor = dbHelper.getExistingProjects();

    //startManagingCursor(projectCursor);
    /*
    //get the list of project names from the database
    String[] from = new String[] {dbHelper.clmProjectName};
    //add a new item to the spinner for each of the rows in the database
    int [] to = new int[]{R.id.txtViewProjectRow};

    //initialize a cursor adapter (similar to ArrayAdapter when populating a spinner from a pre-defined array)
    SimpleCursorAdapter projectAdapter = new SimpleCursorAdapter(this, R.layout.view_project_row, projectCursor, from, to);
    //add all the rows to the spinner
    spnExistingProjects.setAdapter(projectAdapter);
    */
}

Вот код из метода getExistingProjects из моего dbAdapter public Cursor getExistingProjects () {

    if(mDb == null)
    {
        this.open();
    }

    return mDb.query(dbTableProject, new String[] {clmProjectName, clmProjectShootingTitle, clmProjectJobNumber},
            null, null, null, null, null);
}

Есть какие-нибудь подсказки о том, что я могу делать неправильно? ТИА за любую помощь. Norm

1 Ответ

0 голосов
/ 16 июня 2011

Почему бы вам не убедиться, что запрос что-то возвращает, прежде чем вернуть курсор в вашем методе? Поместите строку журнала, в которой выпадает счетчик курсора. Кроме того, вы должны легко это увидеть, пока не пройдете через отладчик.

Кроме того, зачем назначать значение null замедлению курсора, если вы собираетесь инициализировать его на несколько строк вниз. Сделай все это в одной строке.

И наконец, какую БД вы пытаетесь объединить с этой строкой this.open ()? Я, очевидно, не могу сказать с помощью только что написанного вами кода, но попробуйте разобраться во всем этом и выплюнуть strackTrace. Вы должны увидеть свою проблему.

...