我已经阅读了所有类似的问题,但我的arraylist问题...我没有找到解决方案。我试图将我的数组列表中的数据传递到我的第三个活动中,以查看漫画书页面的完整图像。我得到nullpointerexeption。
这是我的第三项活动的代码:
model_dt_till
由于我正在使用回收站视图,我制作了一个回收器适配器,在这里我将把数据传递到第三个活动的意图:
runTime
这是第二个活动是我的整个数组列表:
package com.example.android.glidegalleryevilsecret;
import android.content.Intent;
import android.graphics.Matrix;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.Toolbar;
import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.ScaleGestureDetector;
import android.widget.ImageView;
import android.widget.Toast;
public class PageActivity extends AppCompatActivity {
Toolbar toolbar;
Matrix matrix = new Matrix();
Float scale = 1f;
ScaleGestureDetector SGD;
private ImageView img;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_page);
toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
if (getSupportActionBar() != null) {
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayShowHomeEnabled(true);
}
//receive data
Intent intent = getIntent();
int image = intent.getExtras().getInt("Thumbnail");
//set value
img.setImageResource(image);
img = findViewById(R.id.pageImage);
img.setOnTouchListener(new OnSwipeTouchListener(PageActivity.this) {
public void onSwipeTop() {
Toast.makeText(PageActivity.this, "top", Toast.LENGTH_SHORT).show();
}
public void onSwipeRight() {
Toast.makeText(PageActivity.this, "right", Toast.LENGTH_SHORT).show();
}
public void onSwipeLeft() {
Toast.makeText(PageActivity.this, "left", Toast.LENGTH_SHORT).show();
}
public void onSwipeBottom() {
Toast.makeText(PageActivity.this, "bottom", Toast.LENGTH_SHORT).show();
}
});
SGD = new ScaleGestureDetector(this, new ScaleListener());
}
@Override
public boolean onTouchEvent(MotionEvent event) {
SGD.onTouchEvent(event);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == android.R.id.home)
finish();
return super.onOptionsItemSelected(item);
}
private class ScaleListener extends ScaleGestureDetector.SimpleOnScaleGestureListener {
@Override
public boolean onScale(ScaleGestureDetector detector) {
scale = scale * detector.getScaleFactor();
scale = Math.max(0.1f, Math.min(scale, 5f));
matrix.setScale(scale, scale);
img.setImageMatrix(matrix);
return true;
}
}
}
答案 0 :(得分:1)
这是因为您在绑定视图之前设置了图像资源。
尝试颠倒顺序:
img = findViewById(R.id.pageImage);
img.setImageResource(image);