Интересно, правильно ли я об этом говорю или нет. У меня есть 3 кнопки на моем экране (перезагрузка, предыдущий, следующий). Когда представление загружается, оно показывает первое изображение, которое хорошо. Когда я нажимаю кнопку «Далее», я хочу, чтобы она загружала второе изображение и так далее до 9 изображений. Если я нажму кнопку «Предыдущий», то вернется одно изображение. При нажатии «Перезагрузка» должен перейти к первому изображению. У меня Рестарт один работает. У меня проблемы с кнопкой «Далее», потому что она показывает только второе изображение (я думаю, потому что моя переменная «a» инициализируется в 0). Вот мой код. Благодарен всем, кто может помочь.
public class Story1 extends Activity implements View.OnClickListener {
ImageView image = (ImageView) findViewById(R.id.story1_1);
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.story1);
Button restart = (Button) findViewById(R.id.restart);
restart.setOnClickListener(this);
Button previous = (Button) findViewById(R.id.previous);
previous.setOnClickListener(this);
Button next = (Button) findViewById(R.id.next);
next.setOnClickListener(this);
}
@Override
public void onClick(View view)
{
int a = 0;
switch (view.getId())
{
case R.id.restart:
image.setImageResource(R.drawable.story1_1);
break;
case R.id.next:
if (a == 0)
{
image.setImageResource(R.drawable.story1_2);
a = 1;
}
else if (a == 1)
{
image.setImageResource(R.drawable.story1_3);
a = 2;
}
else if (a == 2)
{
image.setImageResource(R.drawable.story1_4);
a = 3;
}
else if (a == 3)
{
image.setImageResource(R.drawable.story1_5);
a = 4;
}
else if (a == 4)
{
image.setImageResource(R.drawable.story1_6);
a = 5;
}
else if (a == 5)
{
image.setImageResource(R.drawable.story1_7);
a = 6;
}
else if (a == 6)
{
image.setImageResource(R.drawable.story1_8);
a = 7;
}
else if (a == 7)
{
image.setImageResource(R.drawable.story1_9);
image.setClickable(false);
}
break;
}
}
}
объявить глобал "a" для хранения его значения. Поскольку вы инициализируете его до 0 во время onClick.
public class Story1 extends Activity implements View.OnClickListener
{
ImageView image = (ImageView) findViewById(R.id.story1_1);
Button next;
int a = 0;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.story1);
Button restart = (Button) findViewById(R.id.restart);
restart.setOnClickListener(this);
Button previous = (Button) findViewById(R.id.previous);
previous.setOnClickListener(this);
next = (Button) findViewById(R.id.next);
next.setOnClickListener(this);
}
@Override
public void onClick(View view)
{
switch (view.getId())
{
case R.id.restart:
image.setImageResource(R.drawable.story1_1);
a = 0;
break;
case R.id.next:
if (a == 0)
{
image.setImageResource(R.drawable.story1_2);
a = 1;
}
else if (a == 1)
{
image.setImageResource(R.drawable.story1_3);
a = 2;
}
else if (a == 2)
{
image.setImageResource(R.drawable.story1_4);
a = 3;
}
else if (a == 3)
{
image.setImageResource(R.drawable.story1_5);
a = 4;
}
else if (a == 4)
{
image.setImageResource(R.drawable.story1_6);
a = 5;
}
else if (a == 5)
{
image.setImageResource(R.drawable.story1_7);
a = 6;
}
else if (a == 6)
{
image.setImageResource(R.drawable.story1_8);
a = 7;
}
else if (a == 7)
{
image.setImageResource(R.drawable.story1_9);
image.setClickable(false);
}
break;
case R.id.previous:
a--;
next.performClick();
break;
}
}
}