【发布时间】:2011-09-14 04:54:20
【问题描述】:
我有一个boolean[]、checkbox[] 和view[](分别为impactsb[]、impactsc[]、impactsv[]),每个长度为8。我知道第一个位置是0,下一个是 1,以此类推,最后一个位置是 7。由于某种原因,当您尝试对最后一个位置执行任何操作时,我的应用程序会崩溃,换句话说,0-6 工作正常,7 从来没有。我做错了什么?
这是我的这个类的代码,它是它自己的活动,是作为选项卡的主要活动的一部分。对草率的格式感到抱歉。
package com.citsci.mardeb;
... imports ....
public class Impacts extends Activity implements View.OnClickListener
{
static boolean[] impactsb = new boolean[] {false, false, false, false, false, false, false, false};
@Override
public void onCreate (Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.impacts);
View[] impactsv = new View[]
{
findViewById(R.id.gas_oil),
findViewById(R.id.ghost_fishing),
findViewById(R.id.marsh_damage),
findViewById(R.id.nav_haz),
findViewById(R.id.shell_damage),
findViewById(R.id.waste_pollution),
findViewById(R.id.wild_entang),
findViewById(R.id.other)
};
CheckBox[] impactsc = new CheckBox[impactsv.length];
for (int i = 0; i < 8; i++)
{
impactsc[i] = (CheckBox) impactsv[i];
impactsc[i].setTag(i);
impactsc[i].setOnClickListener(this);
}
}// end of onCreate
@Override
public void onClick(View v)
{
switch ((Integer)v.getTag())
{
case (0):
impactsb[0] =! impactsb[0];
break;
case (1):
impactsb[1] =! impactsb[1];
break;
case (2):
impactsb[2] =! impactsb[2];
break;
case (3):
impactsb[3] =! impactsb[3];
break;
case (4):
impactsb[4] =! impactsb[4];
break;
case (5):
impactsb[5] =! impactsb[5];
break;
case (6):
impactsb[6] =! impactsb[6];
break;
case (7):
impactsb[7] =! impactsb[7];
EditText view = (EditText) findViewById(R.id.other);
if (view.getVisibility() == View.INVISIBLE)
view.setVisibility(View.VISIBLE);
else
view.setVisibility(View.INVISIBLE);
break;
}
}
}// end of Impacts.class
错误代码:
ActivityThread.performLaunchActivity(ActivityThread$ActivityClientRecord, Intent) line: 1768
ActivityThread.handleLaunchActivity(ActivityThread$ActivityClientRecord, Intent) line: 1784
ActivityThread.access$1500(ActivityThread, ActivityThread$ActivityClientRecord, Intent) line: 123
ActivityThread$H.handleMessage(Message) line: 939
【问题讨论】:
标签: android arrays android-activity for-loop