Quote (carteblanche @ Dec 12 2015 03:26pm)
i think you ignored part of my post, so i'm reposting it.
Explain.
questionsListView = getListView();
is getting my list view on my ui and assigning it to questionsListView
questionsListView = (ListView) findViewByID(R.id.listView)
is getting my list view on my ui and assigning it to questionsListView
theyre doing the same thing..
so this is my updated code
Code
package edu.davenport.cisp340.studentdbprototype;
import android.app.ListActivity;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.os.AsyncTask;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.CursorAdapter;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;
import android.widget.Toast;
public class Questions extends ListActivity {
private QuestionsDB qbdb = null;
private ListView questionsListView;
private CursorAdapter questionsListViewAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
qbdb = new QuestionsDB();
new questionListTask().execute((Object[]) null);
}
private class questionListTask extends AsyncTask<Object, Object, Cursor>
{
@Override
protected Cursor doInBackground(Object... params)
{
return qbdb.Questions();
}
@Override
protected void onProgressUpdate(Object... values) {
super.onProgressUpdate(values);
}
@Override
protected void onPostExecute(Cursor cursor) {
super.onPostExecute(cursor);
questionsListView = getListView();
questionsListView.setOnItemClickListener(questionsListListener);
// map to on resume
String[] map_from = new String[]{"QUESTION_TEXT"};
int[] map_to = new int[]{R.id.txtQuestions};
questionsListViewAdapter = new SimpleCursorAdapter(Questions.this, R.layout.content_questions, cursor, map_from, map_to);
questionsListView.setAdapter(questionsListViewAdapter);
}
} // end StudentListTask
AdapterView.OnItemClickListener questionsListListener = new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
}
};
}
I extended to list view, took the one findviewbyid out and left the getListView();
and it errored out to this
Code
Process: edu.davenport.cisp340.studentdbprototype, PID: 2301
12-12 15:11:37.511 2301-2301/edu.davenport.cisp340.studentdbprototype E/AndroidRuntime: java.lang.IllegalArgumentException: [B]column '_id' does not exist[/B]
12-12 15:11:37.511 2301-2301/edu.davenport.cisp340.studentdbprototype E/AndroidRuntime: at android.database.AbstractCursor.getColumnIndexOrThrow(AbstractCursor.java:333)
12-12 15:11:37.511 2301-2301/edu.davenport.cisp340.studentdbprototype E/AndroidRuntime: at android.widget.CursorAdapter.init(CursorAdapter.java:180)
12-12 15:11:37.511 2301-2301/edu.davenport.cisp340.studentdbprototype E/AndroidRuntime: at android.widget.CursorAdapter.<init>(CursorAdapter.java:128)
12-12 15:11:37.511 2301-2301/edu.davenport.cisp340.studentdbprototype E/AndroidRuntime: at android.widget.ResourceCursorAdapter.<init>(ResourceCursorAdapter.java:55)
12-12 15:11:37.511 2301-2301/edu.davenport.cisp340.studentdbprototype E/AndroidRuntime: at android.widget.SimpleCursorAdapter.<init>(SimpleCursorAdapter.java:78)
12-12 15:11:37.511 2301-2301/edu.davenport.cisp340.studentdbprototype E/AndroidRuntime: at edu.davenport.cisp340.studentdbprototype.Questions$questionListTask.onPostExecute([B]Questions.java:56[/B])
12-12 15:11:37.511 2301-2301/edu.davenport.cisp340.studentdbprototype E/AndroidRuntime: at edu.davenport.cisp340.studentdbprototype.Questions$questionListTask.onPostExecute([B]Questions.java:32[/B])
but I dont know where its trying to get column '_id' from, obviously it has something to do with my cursor?
but here is my QuestionsDB
Code
package edu.davenport.cisp340.studentdbprototype;
import android.database.Cursor;
public class QuestionsDB {
public Cursor Questions() {
Cursor c = null;
AppDB.Open();
c = AppDB.database.query("QUESTION", new String[]{"QUESTION_ID", "QUESTION_TEXT"}, null, null, null, null, "QUESTION_TEXT");
return c;
}
}