必须单击两次以获取上一个数组元素

我想使用上一个和下一个按钮制作图库应用。我拍了array张照片。每当我到达最后一张照片时,我都必须单击两次上一个按钮以获取上一张照片。而且,当我到达第一张照片时,我必须单击两次下一个按钮才能到达下一张照片。我的代码:


public class MainActivity extends AppCompatActivity {


    ImageView ivphoto;

    Button btnext;

    Button btprevious;

    int a=0;

    int photoarray[]={R.drawable.cat, R.drawable.dog, R.drawable.duck, R.drawable.elephant, R.drawable.monkey, R.drawable.pig, R.drawable.rabbit, R.drawable.tiger};


    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);


        ivphoto = findViewById(R.id.ivphoto);

        btnext = findViewById(R.id.btnext);

        btprevious = findViewById(R.id.btprevious);


        btnext.setOnClickListener(new View.OnClickListener() {

            @Override

            public void onClick(View v) {


                ivphoto.setImageResource(photoarray[a]);

                a++;

                if (a==8){

                    a=7;

                    Toast.makeText(MainActivity.this, "This is last photo", Toast.LENGTH_SHORT).show();

                }

            }

        });


        btprevious.setOnClickListener(new View.OnClickListener() {

            @Override

            public void onClick(View v) {


                ivphoto.setImageResource(photoarray[a]);

                a--;

                if(a==-1){

                    a=0;

                    Toast.makeText(MainActivity.this, "This is first photo.", Toast.LENGTH_SHORT).show();

                }

            }

        });

    }

}

任何人都可以帮我这个忙。谢谢。


largeQ
浏览 126回答 2
2回答

慕丝7291255

在下一个按钮中尝试以下代码:if(a == photoarray.lenght - 1)    Toast.makeText(MainActivity.this, "This is last photo", Toast.LENGTH_SHORT).show();else    ivphoto.setImageResource(photoarray[++a]);而此代码在后退按钮中:if(a == 0)    Toast.makeText(MainActivity.this, "This is first photo.", Toast.LENGTH_SHORT).show();else    ivphoto.setImageResource(photoarray[--a]);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java