我在“return int i”行中的以下代码中收到错误“语法错误,插入”;“完成ReturnStatement”
public class RecordActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_record);
int i = intent.getIntExtra(MainActivity.EXTRA_INDEX, 0);
int j = i+1;
final String[]names = getResources().getStringArray(R.array.names);
final TextView nameView = (TextView) findViewById(R.id.vNames);
String vName = names[i];
nameView.setText(vName);
Button nextButton = (Button) findViewById(R.id.nextButton);
nextButton.setOnClickListener(new OnClickListener() {
public static onClickView(View v) {
i=i+1;
return int i;
}
}
);
}
//...
}
我试图在按钮单击时迭代数组的索引,所以我得到onClick方法返回索引'i'所以我可以将它放入循环语句中。我已经检查了所有括号,看不到我会错过';'。任何有关这方面的帮助将不胜感激。
答案 0 :(得分:1)
答案 1 :(得分:0)
在活动中声明int i
,然后在onClick
中递增它:
public class RecordActivity extends Activity {
int i;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_record);
i = intent.getIntExtra(MainActivity.EXTRA_INDEX, 0);
int j = i+1;
final String[]names = getResources().getStringArray(R.array.names);
final TextView nameView = (TextView) findViewById(R.id.vNames);
String vName = names[i];
nameView.setText(vName);
Button nextButton = (Button) findViewById(R.id.nextButton);
nextButton.setOnClickListener(new OnClickListener() {
public void onClickView(View v) {
i=i+1;
}
}
);
}
//...
答案 2 :(得分:0)
我会尝试不重新声明变量,例如:
return i;
答案 3 :(得分:0)
您是否尝试将return int i;
更改为return i;
并将返回类型从void
更改为int
?
在尝试归还它时,“重新声明”i
是没有意义的。
另外,我认为返回类型应该是void,所以只需删除return语句。