java - Intent 中的网格视图位置没有增加
问题描述
我正在设置网格视图库并在 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) {
}
});
}
}
解决方案
您不只是编写代码位置 + 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
推荐阅读
- algorithm - MATLAB中遗传算法的即时收敛
- swift - 缩小文本的字体大小以使其长度适合 SwiftUI 中的另一个文本
- ruby-on-rails - 在 Ruby on rails 中使用 FCM 为 Web 应用程序推送通知
- c++ - 将 .cpp 和 .lib 编译成 WINDOWS 中的共享 .so 库
- react-native - 如何在 react-native-webview 中滚动
- html - 合并/重叠列 bootstrap v4 小屏幕
- google-cloud-pubsub - Micronaut 3:如何使用 PubSubEmulatorContainer
- javascript - 如何从初始状态数组 redux/toolkit 打字稿中删除对象
- android-room - 房间刷新查询结果
- architecture - 如何处理事件驱动架构中缺乏无限保留的问题?