у меня есть 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
это относится к к этому предыдущему вопросу и к другому предыдущему вопросу