android error NoSuchElementException

Posted by Alexander on Stack Overflow See other posts from Stack Overflow or by Alexander
Published on 2012-06-05T15:14:58Z Indexed on 2012/06/06 22:40 UTC
Read the original article Hit count: 249

Filed under:

I have returned a cursor string but it contains a delimiter. The delimiter is . I have the string quest.setText(String.valueOf(c.getString(1)));I want to turn the into a new line. What is the best method to achieve this task in android. I understand there is a way to get the delimeter. I want this to achieved for each record. I can itterate through record like so.

Cursor c = db.getContact(2);

I tried using a string tokenizer but it doesnt seem to work. Here is the code for the tokenizer. I tested it in just plain java and it works without errors.

String question = c.getString(1);
                    // quest.setText(String.valueOf(c.getString(1)));   
                    //quest.setText(String.valueOf(question));  
                    StringTokenizer st = new StringTokenizer(question,"<ENTER>"); 
                    //DisplayContact(c);

                 //  StringTokenizer st = new StringTokenizer(question, "=<ENTER>"); 
                    while(st.hasMoreTokens()) { 
                    String key = st.nextToken(); 
                    String val = st.nextToken(); 
                    System.out.println(key + "\n" + val); 

                    } 

I then tried running it in android. Here is the error log

06-06 22:31:55.251: E/AndroidRuntime(537): FATAL EXCEPTION: main
06-06 22:31:55.251: E/AndroidRuntime(537): java.util.NoSuchElementException
06-06 22:31:55.251: E/AndroidRuntime(537):  at java.util.StringTokenizer.nextToken(StringTokenizer.java:208)
06-06 22:31:55.251: E/AndroidRuntime(537):  at alex.android.test.database.quiz.TestdatabasequizActivity$1.onClick(TestdatabasequizActivity.java:95)
06-06 22:31:55.251: E/AndroidRuntime(537):  at android.view.View.performClick(View.java:3511)
06-06 22:31:55.251: E/AndroidRuntime(537):  at android.view.View$PerformClick.run(View.java:14105)
06-06 22:31:55.251: E/AndroidRuntime(537):  at android.os.Handler.handleCallback(Handler.java:605)
06-06 22:31:55.251: E/AndroidRuntime(537):  at android.os.Handler.dispatchMessage(Handler.java:92)
06-06 22:31:55.251: E/AndroidRuntime(537):  at android.os.Looper.loop(Looper.java:137)
06-06 22:31:55.251: E/AndroidRuntime(537):  at android.app.ActivityThread.main(ActivityThread.java:4424)
06-06 22:31:55.251: E/AndroidRuntime(537):  at java.lang.reflect.Method.invokeNative(Native Method)
06-06 22:31:55.251: E/AndroidRuntime(537):  at java.lang.reflect.Method.invoke(Method.java:511)
06-06 22:31:55.251: E/AndroidRuntime(537):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
06-06 22:31:55.251: E/AndroidRuntime(537):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
06-06 22:31:55.251: E/AndroidRuntime(537):  at dalvik.system.NativeStart.main(Native Method)

This is the database query

public Cursor getContact(long rowId) throws SQLException 
    {
        Cursor mCursor =
                db.query(true, DATABASE_TABLE, new String[] {KEY_ROWID,
                        question, possibleAnsOne,possibleAnsTwo, possibleAnsThree,realQuestion,UR}, KEY_ROWID + "=" + rowId, null,
                null, null, null, null);
        if (mCursor != null) {
            mCursor.moveToFirst();
        }

© Stack Overflow or respective owner

Related posts about android-cursor