Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何修复(无法启动活动java.lang.NullPointerException?)_Java_Android - Fatal编程技术网

如何修复(无法启动活动java.lang.NullPointerException?)

如何修复(无法启动活动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

直到昨天,一切都很顺利,不知从哪里冒出了以下问题。单击ImageView时,此图像应显示/显示图像的详细信息。但是,如果单击ImageView时结果为,不幸的是,应用程序已停止:

显示图像代码:

   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;
}