android if 循环,Android:使用if语句循环数组

我是Android新手,但不是编程,我必须为Masters项目创建原型应用程序。我有2个预定义数组,每个数组包含33个值。目标是让按钮单击时显示每个值的数组。最终它会做更多,但现在这不重要。Android:使用if语句循环数组

我已经使用了一个简单的if/else if语句,并将其封装在try/finally块中。数组循环很漂亮,但是当我的值达到数组的末尾(32)并增加到最后(33)时,它不会绕过第一个if参数并转到else if块。试着尽我所能,我不能为了我的生活找出为什么它不会在下一次迭代中返回错误并跳到下一部分。 logcat显示它超出了数组的长度,这很好,但我有一个争论的地方。或者我觉得我呢?

我可能错过了一些明显愚蠢的东西,但是如果有人能够发现它,我会非常感谢帮助。由于事先:)

代码:

public class TestActivity extends Activity {

public int i;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_test);

final TextView testQuest = (TextView) findViewById(R.id.questView);

final TextView testNum = (TextView) findViewById(R.id.numbs);

Button getNext = (Button) findViewById(R.id.btnNext);

final String[] quesNums = { "Question 1", "Question 2", "Question 3",

"Question 4", "Question 5", "Question 6", "Question 7",

"Question 8", "Question 9", "Question 10", "Question 11",

"Question 12", "Question 13", "Question 14", "Question 15",

"Question 16", "Question 17", "Question 18", "Question 19",

"Question 20", "Question 21", "Question 22", "Question 23",

"Question 24", "Question 25", "Question 26", "Question 27",

"Question 28", "Question 29", "Question 30", "Question 31",

"Question 32", "Question 33" };

final String[] questions = {

"I have enough information about the organisation/work area to prepare for my placement.",

"I am clear about what I need to be able to do to be successful in this role.",

"I am clear about the skills and qualities I can offer this organisation/work area.",

"I have a realistic plan to manage financially.",

"I have a realistic plan to travel to and from the organisation/work area.",

"I have set realistic goals for myself to prepare for this experience.",

"I have realistic plan to manage my personal commitments.",

"My commitments to caring for others (E.g. children, parents) will not be affected by this placement.",

"Managing my personal needs (E.g. relating to my health, personal experiences, impairment or disability) so they do not have a negative effect on this placement",

"Overall, I am confident about my preparation for this experience.",

"Working on specific days/dates that are important to you e.g. Christmas Day, Eid, Diwali.",

"Being available for the working patterns of your placement.",

"Being flexible about your personal commitments or needs",

"Taking regular breaks during the day for your personal commitments or needs.",

"Feeling comfortable about discussing your personal commitments or needs with your supervisor on the placement.",

"Using negotiating skills with confidence on your placement.",

"Assessing the feasibility of asking for time off/alternative working arrangements on your placement. As opposed to during a permanent work contract.",

"Discussing any problems around managing this placement successfully with your academic supervisor.",

"Getting to your placement.",

"Getting to your placement on time.",

"Getting around the location.",

"Keeping up with the expected pace of work.",

"Keeping up with paperwork.", "Achieving your outcomes/goals.",

"Coping with deadlines.", "Coping with stress.",

"Coping with personal emergencies.",

"Working with others or in a team.",

"Working with people you don't know.",

"Working with people who are different from you.",

"Following instructions.",

"Using your initiative/ work independently.",

"Managing the hours and schedule of work." };

i = 0;

getNext.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

try {

if (i <= quesNums.length) {

testNum.setText(quesNums[i]);

testQuest.setText(questions[i]);

i = i + 1;

}

else if (i > quesNums.length){

testNum.setText("End of questions");

testQuest.setText("All done");

}

} finally {

if (i > 33){

testNum.setText(i);

testQuest.setText(i);

}

}

}

});

}

}

logcat的:

04-14 03:05:33.250: E/AndroidRuntime(1567): java.lang.ArrayIndexOutOfBoundsException: length=33; index=33

04-14 03:05:33.250: E/AndroidRuntime(1567): at hhs.huddersfield.ppa.TestActivity$1.onClick(TestActivity.java:76)

04-14 03:05:33.250: E/AndroidRuntime(1567): at android.view.View.performClick(View.java:4091)

04-14 03:05:33.250: E/AndroidRuntime(1567): at android.view.View$PerformClick.run(View.java:17036)

04-14 03:05:33.250: E/AndroidRuntime(1567): at android.os.Handler.handleCallback(Handler.java:615)

04-14 03:05:33.250: E/AndroidRuntime(1567): at android.os.Handler.dispatchMessage(Handler.java:92)

04-14 03:05:33.250: E/AndroidRuntime(1567): at android.os.Looper.loop(Looper.java:137)

04-14 03:05:33.250: E/AndroidRuntime(1567): at android.app.ActivityThread.main(ActivityThread.java:5031)

04-14 03:05:33.250: E/AndroidRuntime(1567): at java.lang.reflect.Method.invokeNative(Native Method)

04-14 03:05:33.250: E/AndroidRuntime(1567): at java.lang.reflect.Method.invoke(Method.java:511)

04-14 03:05:33.250: E/AndroidRuntime(1567): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:792)

04-14 03:05:33.250: E/AndroidRuntime(1567): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:555)

04-14 03:05:33.250: E/AndroidRuntime(1567): at dalvik.system.NativeStart.main(Native Method)

04-14 03:05:35.450: E/Trace(1814): error opening trace file: No such file or directory (2)

2014-04-14

Cazzers

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值