Search code examples
javaandroidandroid-studiooncreate

OnCreate expected semicolon in Android studio


    public class MainActivity extends AppCompatActivity {
        private TaskDBHelper helper;
        private ListAdapter listAdapter;
        @Override
        public void onCreate(Bundle savedInstanceState) {

            private void updateUI(){
                helper = new TaskDBHelper(MainActivity.this);
                SQLiteDatabase sqlDB = helper.getReadableDatabase();
                Cursor cursor = sqlDB.query(TaskContract.TABLE,
                        new String[]{TaskContract.Columns._ID, TaskContract.Columns.TASK},
                        null, null, null, null, null);

                listAdapter = new SimpleCursorAdapter(
                        this,
                        R.layout.task_view,
                        cursor,
                        new String[]{TaskContract.Columns.TASK},
                        new int[]{R.id.taskTextView},
                        0
                );
                ListView listView = (ListView) findViewById(R.id.list);
                listView.setAdapter(listAdapter);
            }
        }
}

I keep getting a red mark on private void updateUI() where an error message that displays express expected (semicolon).


Solution

  • Try this:

     public class MainActivity extends AppCompatActivity {
            private TaskDBHelper helper;
            private ListAdapter listAdapter;
            @Override
            public void onCreate(Bundle savedInstanceState) {
                    super.onCreate(savedInstanceState);
                    updateUI();
                    ListView listView = (ListView) findViewById(R.id.list);
                    listView.setAdapter(listAdapter);
                }
    
                private void updateUI(){
                    helper = new TaskDBHelper(MainActivity.this);
                    SQLiteDatabase sqlDB = helper.getReadableDatabase();
                    Cursor cursor = sqlDB.query(TaskContract.TABLE,
                            new String[]{TaskContract.Columns._ID, TaskContract.Columns.TASK},
                            null, null, null, null, null);
    
                    listAdapter = new SimpleCursorAdapter(
                            this,
                            R.layout.task_view,
                            cursor,
                            new String[]{TaskContract.Columns.TASK},
                            new int[]{R.id.taskTextView},
                            0
                    );
            }
    }