2016-03-01 64 views
-1
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); 
      } 
     } 
} 

我不断收到一个私人无效updateUI()红色标记显示预期(分号)表示错误消息。OnCreate预计分号在Android工作室

+1

您正在调用方法 – Zaki

+0

updateUi方法实现在oncreate方法 –

回答

2

试试这个:

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 
       ); 
     } 
} 
+0

它说重写方法应该调用super.oncreate – Synetrix

+0

更新它。添加以下行:super.onCreate(savedInstanceState);顺便说一句,你需要在onCreate之后设置你的布局:setContentView(R.layout.YOUR_ACTIVITY); – Zaki

+0

注意到它和thnks它完美的工作 – Synetrix

2

在Java中,你不能声明里面的另一种方法的范围的方法。您只能在类的范围内声明方法。因此,您声明方法updateUI()的方式无效,应移至类作用域。