You cannot in this case. This is a mandatory requirement.

"pramod.deore" <[email protected]> wrote:

>Hi Bibek, Thanks for reply. But my table RoomTable have only three
>columns, RoomID, RoomName, and RoomSuffix. It doesn't have  _id field.
>Then how to use Cursor Adapter here.
>
>On Dec 3, 11:55 am, Kumar Bibek <[email protected]> wrote:
>> Cursor Adapters require the table to have a _id field. Else, you would get
>> this exception.
>> Kumar Bibekhttp://techdroid.kbeanie.comhttp://www.kbeanie.com
>>
>> On Fri, Dec 3, 2010 at 11:15 AM, pramod.deore 
>> <[email protected]>wrote:
>>
>> > Hi Everyone,
>>
>> > I have a table and I want to retrieve one column (RoomName) from this
>> > table and display it as a list.  had tried it but it gives me
>> > exception as " java.lang.IllegalArgumentException: column '_id' does
>> > not exist"
>>
>> > My .java class is
>>
>> > public class RemoveRoom extends Activity
>> > {
>> >         SQLiteDatabase sampleDB = null;
>> >         String SAMPLE_DBNAME = "HomeAutoDataBase";
>> >         String ROOM_TABLE_NAME = "RoomTable";
>> >         String SWITCH_TABLE_NAME = "SwitchTable";
>> >         protected ListAdapter adapter;
>> >         protected ListView roomList;
>>
>> >         @Override
>> >         public void onCreate(Bundle savedInstanceState)
>> >         {
>> >                 System.out.println ("First statement in RemoveRoom");
>> >                super.onCreate(savedInstanceState);
>> >                setContentView(R.layout.roomlist);
>> >                roomList = (ListView) findViewById (R.id.list);
>> >                displayRoomList();
>>
>> >         }
>>
>> >         public void displayRoomList()
>> >         {
>> >                 try
>> >                {
>> >                        sampleDB =  this.openOrCreateDatabase(SAMPLE_DBNAME,
>> > MODE_PRIVATE, null);
>> >                        Cursor c = sampleDB.rawQuery("SELECT RoomName FROM "
>> > +ROOM_TABLE_NAME, null);
>> >                        System.out.println ("Total number of rooms
>> > are"+c.getCount());
>>
>> >                          adapter = new SimpleCursorAdapter(
>> >                          this,
>> >                          R.layout.roomlist,
>> >                          c,
>> >                          new String[] {"RoomName"},
>> >                          new int[] {R.id.roomname}); //here I got
>> > exception
>> >          roomList.setAdapter(adapter);
>>
>> >                }
>> >                 catch (Exception e)
>> >                 {
>> >                         e.printStackTrace();
>> >                 }
>> >         }
>>
>> > }
>>
>> > my .xml file is
>>
>> > <?xml version="1.0" encoding="utf-8"?>
>> > <LinearLayout xmlns:android="http://schemas.android.com/apk/res/
>> > android"
>> >    android:orientation="vertical"
>> >    android:layout_width="fill_parent"
>> >    android:layout_height="fill_parent">
>>
>> >        <ListView
>> >           android:id="@+id/list"
>> >           android:layout_width="fill_parent"
>> >           android:layout_height="fill_parent"/>
>>
>> >    <TextView
>> >            android:id="@+id/roomname"
>> >            android:layout_width="wrap_content"
>> >            android:layout_height="wrap_content"/>
>>
>> > </LinearLayout>
>>
>> > And my logcat gives me
>>
>> > 12-03 10:48:03.540: WARN/System.err(573):
>> > java.lang.IllegalArgumentException: column '_id' does not exist
>> > 12-03 10:48:03.560: WARN/System.err(573):     at
>> > android.database.AbstractCursor.getColumnIndexOrThrow(AbstractCursor.java:
>> > 314)
>> > 12-03 10:48:03.570: WARN/System.err(573):     at
>> > android.widget.CursorAdapter.init(CursorAdapter.java:111)
>> > 12-03 10:48:03.580: WARN/System.err(573):     at
>> > android.widget.CursorAdapter.<init>(CursorAdapter.java:90)
>> > 12-03 10:48:03.589: WARN/System.err(573):     at
>> > android.widget.ResourceCursorAdapter.<init>(ResourceCursorAdapter.java:
>> > 47)
>> > 12-03 10:48:03.600: WARN/System.err(573):     at
>> > android.widget.SimpleCursorAdapter.<init>(SimpleCursorAdapter.java:88)
>> > 12-03 10:48:03.611: WARN/System.err(573):     at
>> > com.monarch.home.RemoveRoom.displayRoomList(RemoveRoom.java:47)
>> > 12-03 10:48:03.640: WARN/System.err(573):     at
>> > com.monarch.home.RemoveRoom.onCreate(RemoveRoom.java:29)
>> > 12-03 10:48:03.651: WARN/System.err(573):     at
>> > android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:
>> > 1047)
>> > 12-03 10:48:03.660: WARN/System.err(573):     at
>> > android.app.ActivityThread.performLaunchActivity(ActivityThread.java:
>> > 2459)
>> > 12-03 10:48:03.669: WARN/System.err(573):     at
>> > android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:
>> > 2512)
>> > 12-03 10:48:03.679: WARN/System.err(573):     at
>> > android.app.ActivityThread.access$2200(ActivityThread.java:119)
>> > 12-03 10:48:03.700: WARN/System.err(573):     at
>> > android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863)
>> > 12-03 10:48:03.710: WARN/System.err(573):     at
>> > android.os.Handler.dispatchMessage(Handler.java:99)
>> > 12-03 10:48:03.710: WARN/System.err(573):     at
>> > android.os.Looper.loop(Looper.java:123)
>> > 12-03 10:48:03.720: WARN/System.err(573):     at
>> > android.app.ActivityThread.main(ActivityThread.java:4363)
>> > 12-03 10:48:03.730: WARN/System.err(573):     at
>> > java.lang.reflect.Method.invokeNative(Native Method)
>> > 12-03 10:48:03.750: WARN/System.err(573):     at
>> > java.lang.reflect.Method.invoke(Method.java:521)
>> > 12-03 10:48:03.770: WARN/System.err(573):     at
>> > com.android.internal.os.ZygoteInit
>> > $MethodAndArgsCaller.run(ZygoteInit.java:860)
>> > 12-03 10:48:03.781: WARN/System.err(573):     at
>> > com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
>> > 12-03 10:48:03.790: WARN/System.err(573):     at
>> > dalvik.system.NativeStart.main(Native Method)
>>
>> > --
>> > You received this message because you are subscribed to the Google
>> > Groups "Android Developers" group.
>> > To post to this group, send email to [email protected]
>> > To unsubscribe from this group, send email to
>> > [email protected]<android-developers%[email protected]>
>> > For more options, visit this group at
>> >http://groups.google.com/group/android-developers?hl=en
>>
>>
>
>-- 
>You received this message because you are subscribed to the Google
>Groups "Android Developers" group.
>To post to this group, send email to [email protected]
>To unsubscribe from this group, send email to
>[email protected]
>For more options, visit this group at
>http://groups.google.com/group/android-developers?hl=en

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to