切换此标记后的标签

时间:2013-05-25 07:56:56

标签: java android

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;
    }
}

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

2 个答案:

答案 0 :(得分:1)

您无法在第一个案例块之前声明变量。

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

答案 1 :(得分:1)

将变量移出案例开关:

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;
    }
}