2016-01-20 60 views
0

我的MainActivity.java文件包含從應用程序從圖庫中的圖像通過共享按鈕開始之後開始的位置的以下內容。將圖片URI從一個活動傳遞到其他活動,以在第二個活動的圖像視圖中顯示來自圖庫的選定圖像

Intent intent = new Intent(MainActivity.this,BoardView.class); 
intent.setType("image/*"); 
intent.setAction(Intent.ACTION_GET_CONTENT); 
intent.putExtra("image", path); 
startActivity(intent); 

我命名爲BoardView次活動接受圖像:

Intent ii = getIntent(); 
Bundle b = ii.getExtras(); 
if(b!= null) { 
    String image = ii.getStringExtra("image"); 
    view_news.setVisibility(View.VISIBLE); 
} 

,但我不是在第二個活動讓我的形象。 其實第一個活動是登錄,第二個活動顯示登錄後的圖像。

編輯: logcat的顯示錯誤

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.chawlaz.cubetboard/com.example.chawlaz.cubetboard.BoardView}: java.lang.NullPointerException: uriString 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2184) 
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2233) 
     at android.app.ActivityThread.access$800(ActivityThread.java:135) 
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196) 
     at android.os.Handler.dispatchMessage(Handler.java:102) 
     at android.os.Looper.loop(Looper.java:136) 
     at android.app.ActivityThread.main(ActivityThread.java:5001) 
     at java.lang.reflect.Method.invokeNative(Native Method) 
     at java.lang.reflect.Method.invoke(Method.java:515) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601) 
     at dalvik.system.NativeStart.main(Native Method) 
Caused by: java.lang.NullPointerException: uriString 
     at android.net.Uri$StringUri.<init>(Uri.java:467) 
     at android.net.Uri$StringUri.<init>(Uri.java:457) 
     at android.net.Uri.parse(Uri.java:429) 
     at com.example.chawlaz.cubetboard.BoardView.onCreate(BoardView.java:156) 
     at android.app.Activity.performCreate(Activity.java:5231) 


    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 
      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2148) 
        at 
android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2233) 
                 at android.app.ActivityThread.access$800(ActivityThread.java:135) 
                 at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196) 
                 at android.os.Handler.dispatchMessage(Handler.java:102) 
                 at android.os.Looper.loop(Looper.java:136) 
                  

    at android.app.ActivityThread.main(ActivityThread.java:5001) 
                  at java.lang.reflect.Method.invokeNative(Native Method) 
                  at java.lang.reflect.Method.invoke(Method.java:515) 
                  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785) 
                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601) 
                  at dalvik.system.NativeStart.main(Native Method) 
+0

你的意思是圖像爲null? – starkshang

+0

我的意思是圖像沒有被觀看到我的圖像視圖 –

+0

從你的錯誤日誌中,我們可以看到你得到的圖像是空的 – starkshang

回答

0

使用ImageView.setImageURI中的ImageView使用Uri顯示圖像:

String image = ii.getStringExtra("image"); 
view_news.setVisibility(View.VISIBLE); 
Uri imgUri=Uri.parse(image);// << get URI from String 
view_news.setImageURI(imgUri); 
+0

它在運行時顯示錯誤,空指針異常 –

+0

@ chawla.19:顯示完整的崩潰日誌 –

+0

我已經發布了上面的錯誤日誌,看看 –

0

聲明全局靜態變量

public static final String IMAGE_URL = "imageURL"; 

Intent intent = new Intent(MainActivity.this,BoardView.class); 
intent.setType("image/*"); 
intent.putExtra(IMAGE_URL, path); 
startActivity(intent); 

而在另一類

Intent ii = getIntent(); 
Bundle b = ii.getExtras(); 
if(b!= null) { 
    String image = ii.getParcelableExtra(MainActivity.IMAGE_URL); 
    view_news.setVisibility(View.VISIBLE); 
} 

希望這將幫助你

+0

您的代碼只是將額外的密鑰更改爲靜態,沒有任何幫助解決此問題。 – starkshang

+0

正在運行,但Imageview中未顯示圖像。 –

+0

@Muralikrishna我不認爲靜態會有所幫助。 –

相關問題