Android studio 中的 OnCreate 预期分号
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);
}
}
}
我在 private void updateUI() 上不断收到红色标记,其中一条错误消息显示明确预期(分号)。
试试这个:
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
);
}
}
在 Java 中,您不能在另一个方法的范围内声明一个方法。您只能在 class 范围内声明方法。因此,您声明方法 updateUI()
的方式无效,应移至 class 范围。
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);
}
}
}
我在 private void updateUI() 上不断收到红色标记,其中一条错误消息显示明确预期(分号)。
试试这个:
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
);
}
}
在 Java 中,您不能在另一个方法的范围内声明一个方法。您只能在 class 范围内声明方法。因此,您声明方法 updateUI()
的方式无效,应移至 class 范围。