如何创建按下 ImageButton 的历史记录
How to create a history of pressing ImageButton
我是一名开发新手。请帮助创建代码以显示按下 ImageButton 的历史记录(Android)。我有三个 ImageButton(IB1、IB2、IB3)和 5 个空的 ImageView(IV1、IV2、IV3、IV4、IV5)。
当用户第一次触摸三个 ImageButton 中的一个(例如 IB2)时,ImageView (IV1) 显示来自 IB2 的按钮图像。
当用户第二次点击并再次触摸三个按钮中的一个(例如这次是 IB1)时,第一个按下的按钮(来自 IB2 的图像)的图像从 IV1 移动到 IV2,IV1 获得图像来自第二次点击的按钮——来自 IB1。依此类推无限次,但历史记录仅显示最后 5 次点击。这是我的代码的开头。在此先感谢大家。
public class MainActivity extends Activity implements View.OnClickListener {
ImageView IV1, IV2, IV3, IV4, IV5;
ImageButton IB1, IB2, IB3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
IB1 = (ImageButton) findViewById(R.id.IB_first);
IB2 = (ImageButton) findViewById(R.id.IB_second);
IB3 = (ImageButton) findViewById(R.id.IB_third);
IV1 = (ImageView)findViewById(R.id.ImageView1);
IV2 = (ImageView)findViewById(R.id.ImageView2);
IV3 = (ImageView)findViewById(R.id.ImageView3);
IV4 = (ImageView)findViewById(R.id.ImageView4);
IV5 = (ImageView)findViewById(R.id.ImageView5);
IB1.setOnClickListener(this);
IB2.setOnClickListener(this);
IB3.setOnClickListener(this);
}
public void onClick(View v) {
switch (v.getId()) {
case R.id.IB1:
IV1.setVisibility(View.VISIBLE);
IV1.setImageResource(R.drawable.first_image);
break;
case R.id.IB2:
IV1.setVisibility(View.VISIBLE);
IV1.setImageResource(R.drawable.second_image);
break;
case R.id.IB3:
IV1.setVisibility(View.VISIBLE);
IV1.setImageResource(R.drawable.third_image);
break;
}
}
}
在您的 clicklistner 中,您应该将可绘制对象传递给其他 imageViews
例如:
IV5.setImageDrawable(IV4.getDrawable());
IV4.setImageDrawable(IV3.getDrawable());
IV3.setImageDrawable(IV2.getDrawable());
IV2.setImageDrawable(IV1.getDrawable());
// set your IV1 resource
快乐编码;)
我是一名开发新手。请帮助创建代码以显示按下 ImageButton 的历史记录(Android)。我有三个 ImageButton(IB1、IB2、IB3)和 5 个空的 ImageView(IV1、IV2、IV3、IV4、IV5)。
当用户第一次触摸三个 ImageButton 中的一个(例如 IB2)时,ImageView (IV1) 显示来自 IB2 的按钮图像。
当用户第二次点击并再次触摸三个按钮中的一个(例如这次是 IB1)时,第一个按下的按钮(来自 IB2 的图像)的图像从 IV1 移动到 IV2,IV1 获得图像来自第二次点击的按钮——来自 IB1。依此类推无限次,但历史记录仅显示最后 5 次点击。这是我的代码的开头。在此先感谢大家。
public class MainActivity extends Activity implements View.OnClickListener {
ImageView IV1, IV2, IV3, IV4, IV5;
ImageButton IB1, IB2, IB3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
IB1 = (ImageButton) findViewById(R.id.IB_first);
IB2 = (ImageButton) findViewById(R.id.IB_second);
IB3 = (ImageButton) findViewById(R.id.IB_third);
IV1 = (ImageView)findViewById(R.id.ImageView1);
IV2 = (ImageView)findViewById(R.id.ImageView2);
IV3 = (ImageView)findViewById(R.id.ImageView3);
IV4 = (ImageView)findViewById(R.id.ImageView4);
IV5 = (ImageView)findViewById(R.id.ImageView5);
IB1.setOnClickListener(this);
IB2.setOnClickListener(this);
IB3.setOnClickListener(this);
}
public void onClick(View v) {
switch (v.getId()) {
case R.id.IB1:
IV1.setVisibility(View.VISIBLE);
IV1.setImageResource(R.drawable.first_image);
break;
case R.id.IB2:
IV1.setVisibility(View.VISIBLE);
IV1.setImageResource(R.drawable.second_image);
break;
case R.id.IB3:
IV1.setVisibility(View.VISIBLE);
IV1.setImageResource(R.drawable.third_image);
break;
}
}
}
在您的 clicklistner 中,您应该将可绘制对象传递给其他 imageViews
例如:
IV5.setImageDrawable(IV4.getDrawable());
IV4.setImageDrawable(IV3.getDrawable());
IV3.setImageDrawable(IV2.getDrawable());
IV2.setImageDrawable(IV1.getDrawable());
// set your IV1 resource
快乐编码;)