Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何创建按下ImageButton的历史记录_Android_Imageview_Imagebutton - Fatal编程技术网

Android 如何创建按下ImageButton的历史记录

Android 如何创建按下ImageButton的历史记录,android,imageview,imagebutton,Android,Imageview,Imagebutton,我是一个新手开发人员。请帮助创建代码以显示按下ImageButton的历史记录(在Android上)。我有三个ImageButton(IB1、IB2、IB3)和五个空ImageView(IV1、IV2、IV3、IV4、IV5) 当用户第一次触摸三个ImageButton(例如IB2)中的一个时,ImageView(IV1)显示来自IB2的按钮图像 当用户再次单击并再次触摸三个按钮中的一个(例如这次是IB1)时,第一个按下按钮的图像(来自IB2的图像)从IV1移动到IV2,IV1从第二次单击的按钮

我是一个新手开发人员。请帮助创建代码以显示按下ImageButton的历史记录(在Android上)。我有三个ImageButton(IB1、IB2、IB3)和五个空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中,您应该将可绘制内容传递给其他图像视图
例如:

IV5.setImageDrawable(IV4.getDrawable());
IV4.setImageDrawable(IV3.getDrawable());
IV3.setImageDrawable(IV2.getDrawable());
IV2.setImageDrawable(IV1.getDrawable());  
// set your IV1 resource  

快乐编码;)

嗯@Valery你应该投票并标记为正确,这样可以帮助其他人找到正确答案