【问题标题】:Grid View position in Intent is not increasing意图中的网格视图位置没有增加
【发布时间】:2019-10-13 02:47:08
【问题描述】:

我正在设置网格视图库并在 Intent id 中,我需要增加 int 位置以在图库中显示下一张照片,但不增加这是代码:

公共类 FullScreenActivity 扩展 AppCompatActivity {

private ImageView imageView;
private ImageButton BtnNext, BtnBefore, BtnShare, BtnDownload;
private int position;
private ImageAdapter imageAdapter;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_full_screen);

    imageView = (ImageView) findViewById(R.id.image_view_screen);
    BtnNext = (ImageButton) findViewById(R.id.imgBtnNext);
    BtnBefore = (ImageButton) findViewById(R.id.imgBtnBefore);
    BtnShare = (ImageButton) findViewById(R.id.imgBtnShare);
    BtnDownload = (ImageButton) findViewById(R.id.imgBtnDownload);

    Intent intent = getIntent();
    position = intent.getExtras().getInt("id");
    imageAdapter = new ImageAdapter(this);
    imageView.setImageResource(imageAdapter.ImagesArray[position]);


    BtnNext.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            imageView.setImageResource(imageAdapter.ImagesArray[position + 1]);
            Toast.makeText(FullScreenActivity.this, "position: " + position, Toast.LENGTH_SHORT).show();
        }
    });

    BtnBefore.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

        }
    });

    BtnShare.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

        }
    });

    BtnDownload.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

        }
    });
}

}

【问题讨论】:

  • 您已将位置声明为最终位置,它不会更改其值。
  • 我删除了final,值仍然没有增加
  • 能否请您添加整个代码,以便我可以帮助您。
  • 好的,我将添加整个代码
  • 查看我的回答,希望对您有所帮助

标签: java android


【解决方案1】:

你没有跟踪位置值只是写代码位置+1,你的实际代码应该是这样的:

BtnNext.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            position = position + 1;
            imageView.setImageResource(imageAdapter.ImagesArray[position]);
            Toast.makeText(FullScreenActivity.this, "position: " + position, Toast.LENGTH_SHORT).show();
        }
    }); //note you should also write the code to check if the position exceeds the final value

【讨论】:

  • 没问题,如果您在此逻辑方面需要更多帮助,请告诉我。
猜你喜欢
  • 2016-03-20
  • 1970-01-01
  • 2020-09-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-07
  • 2021-09-12
相关资源
最近更新 更多