1
public void onClick(View v) {

    switch (v.getId()) {
    int record_position = null;
    case R.id.Button01:
        // Get all contacts
        db.open();
        Cursor c = db.getAllContacts();
        if (record_position == null){
            if (c.moveToFirst()) {
                record_position = c.getPosition();
                DisplayContact(c);
            }
        }
        else if (c.moveToPosition(record_position)){     
            c.moveToNext();
            record_position = c.getPosition();
            DisplayContact(c);
        }
        else {
            if(c.moveToFirst){
                record_position = c.getPosition();
                DisplayContact(c);
            }
        }
        db.close();
        break;
    }
}

为什么我会收到此错误?问题是什么?出了什么问题?为什么我会收到这个错误?问题是什么?出了什么问题?

4

2 回答 2

1

您不能在第一个 case 块之前声明变量。

将可变减速移动到开关上方。

于 2013-05-25T07:58:59.577 回答
1

将变量移出 case 开关:

int record_position = null;
...
public void onClick(View v) {


    switch (v.getId()) {

    case R.id.Button01:
        // Get all contacts
        db.open();
        Cursor c = db.getAllContacts();
        if (record_position == null){
            if (c.moveToFirst()) {
                record_position = c.getPosition();
                DisplayContact(c);
            }
        }
        else if (c.moveToPosition(record_position)){     
            c.moveToNext();
            record_position = c.getPosition();
            DisplayContact(c);
        }
        else {
            if(c.moveToFirst){
                record_position = c.getPosition();
                DisplayContact(c);
            }
        }
        db.close();
        break;
    }
}
于 2013-05-25T08:01:12.057 回答