Harsha M V
Harsha M V

Reputation: 54949

List View Problem

I am trying to fetch rows from the database and make a list view from it.

This is by Query method inside the DbAdapter

public Cursor readInbox(long toId) throws SQLException {
    return db.query(TABLE_MAILS, new String[] { ID, KEY_FROM, KEY_TO,
            KEY_SUB, KEY_BODY, KEY_DATETIME, KEY_READ }, KEY_TO + "="
            + toId, null, null, null, null, null);
}

This is the code i am trying to write. but its giving error

public class InboxActivity extends ListActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.inbox);

        DBAdapter db = new DBAdapter(InboxActivity.this);
        db.open();
        long userID = Long.parseLong(MessagingApplication.getUserID());

        Cursor inbox = db.readInbox(userID);
        startManagingCursor(inbox);

        String[] Id = new String[] { DBAdapter.ID };

        SimpleCursorAdapter inboxmail = new SimpleCursorAdapter(this, R.layout.list_view, db, Id, null);
        setListAdapter(inboxmail);

        db.close();
    }
}

the Error:

The constructor SimpleCursorAdapter(InboxActivity, int, DBAdapter, String[], null) is undefined

Upvotes: 0

Views: 287

Answers (1)

ddewaele
ddewaele

Reputation: 22603

This is a simple compilation error. Have a look at the public constructors at http://developer.android.com/reference/android/widget/SimpleCursorAdapter.html :

SimpleCursorAdapter(Context context, int layout, Cursor c, String[] from, int[] to)

You're providing DBAdapter where you should be providing a Cursor. Most likely you should be passing the inbox variable instead of DBAdapter

Upvotes: 3

Related Questions