如何修复(无法启动活动java.lang.NullPointerException?)
直到昨天,一切都很顺利,不知从哪里冒出了以下问题。单击ImageView时,此图像应显示/显示图像的详细信息。但是,如果单击ImageView时结果为,不幸的是,应用程序已停止: 显示图像代码:如何修复(无法启动活动java.lang.NullPointerException?),java,android,Java,Android,直到昨天,一切都很顺利,不知从哪里冒出了以下问题。单击ImageView时,此图像应显示/显示图像的详细信息。但是,如果单击ImageView时结果为,不幸的是,应用程序已停止: 显示图像代码: package com.vgm_versi2rev; import android.app.Activity; import android.content.DialogInterface.OnClickListener; import android.content.Intent; impor
package com.vgm_versi2rev;
import android.app.Activity;
import android.content.DialogInterface.OnClickListener;
import android.content.Intent;
import android.graphics.Point;
import android.os.Build;
import android.os.Bundle;
import android.view.Display;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import org.json.JSONException;
import org.json.JSONObject;
import com.vgm_versi2rev.ImageResizer;
import com.vgm_versi2rev.R;
import com.vgm_versi2rev.MyImage;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Point;
import android.os.Bundle;
import android.view.Display;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import org.json.JSONException;
import org.json.JSONObject;
public class DisplayImage extends Activity{
private MyImage image;
private ImageView imageView;
private TextView description;
private String jstring;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_display_image);
imageView = (ImageView) findViewById(R.id.display_image_view);
description = (TextView) findViewById(R.id.text_view_description);
Bundle extras = getIntent().getExtras();
if (extras != null) {
jstring = extras.getString("IMAGE");
}
image = getMyImage(jstring);
description.setText(image.toString());
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x;
int height = size.y;
imageView.setImageBitmap(ImageResizer
.decodeSampledBitmapFromFile(image.getPath(), width, height));
}
private MyImage getMyImage(String image) {
try {
JSONObject job = new JSONObject(image);
return (new MyImage(job.getString("path"),job.getString("title"),
job.getString("datetime"),job.getString("description"),
job.getString("longitude"),job.getString("latitude")));
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
public void btnBackOnClick(View v) {
startActivity(new Intent(this, MainActivityPhoto.class));
finish();
}
public void btnDeleteOnClick(View v) {
DAOdb db = new DAOdb(this);
db.deleteImage(image);
db.close();
startActivity(new Intent(this, MainActivityPhoto.class));
finish();
}
@Override protected void onSaveInstanceState(Bundle outState) {
// Save the user's current game state
if (jstring != null) {
outState.putString("jstring", jstring);
}
// Always call the superclass so it can save the view hierarchy state
super.onSaveInstanceState(outState);
}
@Override protected void onRestoreInstanceState(Bundle savedInstanceState) {
// Always call the superclass so it can restore the view hierarchy
super.onRestoreInstanceState(savedInstanceState);
// Restore state members from saved instance
if (savedInstanceState.containsKey("jstring")) {
jstring = savedInstanceState.getString("jstring");
}
}
}
按下显示图像(ImageView)时返回的错误:
我的Android清单如下:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.vgm_versi2rev"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="10"
android:targetSdkVersion="14" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-feature
android:name="android.hardware.camera"
android:required="false"/>
<application
android:allowBackup="true"
android:icon="@drawable/vgm"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".Homepage"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".Lihat_Data"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".DetailActivity">
</activity>
<activity
android:name=".MainActivityPetiole"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".MainActivityPhoto"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".DisplayImage"
android:label="@string/title_activity_display_image"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
</activity>
</application>
</manifest>
帮助我将不胜感激!
向您致意,错误行是56:
description.setText(image.toString())代码>
我检查你的函数getMyImage(字符串图像)
看起来像你
在这个函数中有一个循环
private MyImage getMyImage(String image) {
try {
JSONObject job = new JSONObject(image);
return (new MyImage(job.getString("path"),job.getString("title"),
job.getString("datetime"),job.getString("description"),
job.getString("longitude"),job.getString("latitude")));
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
一个函数本身返回不同的参数,我有点困惑,但这个问题可能存在你的问题有点困惑。请讲清楚。@Osamaftab我的问题被编辑了is@Blip你能帮我一下吗?我是android编程的新手,我想问题在这里:if(extras!=null){jstring=extras.getString(“IMAGE”);}IMAGE=getMyImage(jstring)
确保jstring
不为空。此字符串的post值jstring
private MyImage getMyImage(String image) {
try {
JSONObject job = new JSONObject(image);
return (new MyImage(job.getString("path"),job.getString("title"),
job.getString("datetime"),job.getString("description"),
job.getString("longitude"),job.getString("latitude")));
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}