画像ビュー1をクリックすると、新しいアクティビティが開始され、次のアクティビティで同じ画像が新しい画像ビュー2に表示されます。クリックされたimageview1は私の主要な活動についてのリストビューによってアクセスされます。リストビューには配列が設定され、各リストビュー項目には対応するイメージがあります。イメージビューから2番目のアクティビティに画像を渡すときにエラーが発生しました
リストビューアイテムをクリックすると、imageview1が存在する新しいアクティビティが開始されます。このイメージビューは、描画可能なイメージを参照するxml型配列を使用して作成されます。
新しいアクティビティの最初の画像ビューから次の画像ビューに画像を渡すときに問題があります。私は以下に含まれているnullポインタの例外を取得しています。私は非常にプログラミングに新しいと問題を解決する方法を本当に確実ではない。どんな助けでも本当に感謝しています。
public class FullScreenImage extends AppCompatActivity {
TouchImageView routeImageFull;
@Override
protected void onCreate(Bundle saveInstanceState){
super.onCreate(saveInstanceState);
setContentView(R.layout.full_screen_image);
routeImageFull = (TouchImageView) findViewById(R.id.fullScreenImageView);
if(getIntent().hasExtra("byteArray")) {
TouchImageView routeImageFull= new TouchImageView(this);
Bitmap bitmap = BitmapFactory.decodeByteArray(
getIntent().getByteArrayExtra("byteArray"),0,getIntent().getByteArrayExtra("byteArray").length);
routeImageFull.setImageBitmap(bitmap);
}
}
}
と相続人
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.zach.listview, PID: 3429
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.graphics.Bitmap.compress(android.graphics.Bitmap$CompressFormat, int, java.io.OutputStream)' on a null object reference
at com.example.zach.listview.RouteDetails$1.onClick(RouteDetails.java:47)
at android.view.View.performClick(View.java:5610)
at android.view.View$PerformClick.run(View.java:22265)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6077)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
を取得中にエラーイムに画像を渡そうと最初のImageViewの
public class RouteDetails extends AppCompatActivity {
ImageView routeImage;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_route_details);
//TextView for route details
final TextView routeDetailsView = (TextView) findViewById(R.id.routeDetailsView);
routeDetailsView.setText(getIntent().getExtras().getString("route"));
//ImageView for route details
routeImage = (ImageView) findViewById(R.id.routeImage);
routeImage.setImageResource(getIntent().getIntExtra("imageResourceId", 0));
//passing image to fullscreenimage
routeImage.setDrawingCacheEnabled(true);
routeImage.buildDrawingCache();
final Bitmap bitmap = routeImage.getDrawingCache();
////////// Trying to pass image to new activity
routeImage.setOnClickListener(new View.OnClickListener() {
public void onClick(View view)
{
Intent i = new Intent(RouteDetails.this, FullScreenImage.class);
//Bitmap _bitmap; // your bitmap
ByteArrayOutputStream _bs = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 50, _bs);
i.putExtra("byteArray", _bs.toByteArray());
startActivity(i);
}
});
////////////
}
とHERESに私のfullscreenimageクラスイムが含まれていますHERESに私のrouteDetailsクラス
[NullPointerExceptionがある、と私はそれをどのように修正すればよいか?](http://stackoverflow.com/questions/218384/what-is-a-nullpointerexception-and-how-do-の可能性のある重複i-fix-it) –
上記のリンクを読んで、エラーの原因を突き止める方法を教えてください。 RouteDetails.javaの47行目から始めるべきです。 –
'routeImage.getDrawingCache()'がnullを返しました。明らかに –