错误是:
Unreachable statement in line StringBuffer buffer = new StringBuffer()
这是我的代码:
public void viewAll(){
btnViewData.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Cursor res =myDB.getAllData();
if (res.getCount() == 0)
showMessage("Error","No data Found");
{
return;
}
StringBuffer buffer = new StringBuffer();
while (res.moveToNext()){
buffer.append("Id :"+res.getString(0)+"\n");
buffer.append("Name :"+res.getString(1)+"\n");
buffer.append("Surname :"+res.getString(2)+"\n");
buffer.append("Marks :"+res.getString(3)+"\n\n");
}
showMessage("Data",buffer.toString());
}
});
}
答案 0 :(得分:2)
更新代码。您在错误的位置使用了{},这就是您遇到此问题的原因。
if (res.getCount() == 0){
//show message
showMessage("Error","No data Found");
return;
}
答案 1 :(得分:0)
您将if语句的起始花括号放错了位置。 return总是被调用,并且return之下的行永远不会执行。因此无法到达的声明。 如下所示添加花括号
if (res.getCount() == 0){
//show message
showMessage("Error","No data Found");
return;
}
以上代码将解决此问题。但是,更好的方法是避免不必要的return语句。像这样:
public void viewAll(){
btnViewData.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Cursor res =myDB.getAllData();
if (res.getCount() > 0){
StringBuffer buffer = new StringBuffer();
while (res.moveToNext()){
buffer.append("Id :"+res.getString(0)+"\n");
buffer.append("Name :"+res.getString(1)+"\n");
buffer.append("Surname :"+res.getString(2)+"\n");
buffer.append("Marks :"+res.getString(3)+"\n\n");
}
//show all data
showMessage("Data",buffer.toString());
}
else{
//show message
showMessage("Error","No data Found");
}
}
});
}