更改按钮上的ImageView点击
问题描述:
想知道我是否正确地做这件事。我的屏幕上有3个按钮(重新启动,上一个,下一个)。当视图加载时显示第一个图像很好。当我点击“下一步”按钮时,我想让它加载第二张图像,最多9张图像。如果我点击“上一步”按钮,它应该返回一个图像。点击“重新启动”应该转到第一张图片。我有重新启动一个工作。我对Next按钮有问题,因为它只显示第二个图像(我认为是因为我的“a”变量初始化为0)。这是我的代码。感谢任何可以帮助的人。更改按钮上的ImageView点击
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”全球存储其价值。因为您在onClick期间将其初始化为0。
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;
}
}
}
非常感谢。现在正在工作。 :O) – joelreeves 2010-08-16 19:08:25