質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Q&A

3回答

2148閲覧

Android画像が表示できない

KentoSasamoto

総合スコア49

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

0グッド

0クリップ

投稿2015/03/05 23:32

自作APIから問題データを取得し、その問題を表示するアプリを作成しています。
文字のみの場合の問題表示は成功し、画像があった場合の問題を表示しようとした時に不具合が起きました。

模擬試験(MogiFragment)のコードで
画像を表示する部分があるのですが、画像が表示できたりできなかったりします。

現在確認したのは
・callbackのstatusはOKになっていること
・Logで吐いた画像urlをchromeで叩くと確かに表示されること

の二つです。

原因に予想がつく方がいたら教えてください。
お願いいたします。

ソースコード
GitHub
https://github.com/kentosasa/karimen_android

MogiFragment該当部分

public void setQuestion(){ String image_url = problems.get(question_num).getQuestion_image_url(); if (image_url.length() > 5){ Log.e("url", image_url); aq.id(R.id.image_problem).visible(); aq.id(R.id.image_problem).image(image_url, true, true, 0, 0, new BitmapAjaxCallback(){ @Override protected void callback(String url, ImageView iv, Bitmap bm, AjaxStatus status) { super.callback(url, iv, bm, status); Toast.makeText(context, status.getMessage(), Toast.LENGTH_SHORT).show(); } }); }else{ aq.id(R.id.image_problem).gone(); aq.id(R.id.image_problem).visible(); aq.id(R.id.image_problem).image("http://www5b.biglobe.ne.jp/~nobusann/777/honmen/hyou012g.gif", false, false, 0, 0, new BitmapAjaxCallback(){ @Override protected void callback(String url, ImageView iv, Bitmap bm, AjaxStatus status) { super.callback(url, iv, bm, status); Toast.makeText(context, status.getMessage(), Toast.LENGTH_SHORT).show(); } }); } aq.id(R.id.text_problem).text("Q." + (question_num+1) + "\n" + problems.get(question_num).question_text); }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

コードを少し拝見しました。
画像取得に問題がないとすると、画面レイアウトがらみでしょうか。

fragment_problem.xmlの

lang

1 <TextView 2 android:layout_width="match_parent" 3 android:layout_height="match_parent" 4 android:textColor="@color/mainTextColor" 5 android:text="hogehoge" 6 android:textAppearance="?android:attr/textAppearanceLarge" 7 android:id="@+id/text_problem" /> 8 <ImageView 9 android:id="@+id/image_problem" 10 android:layout_width="100dp" 11 android:layout_height="100dp" 12 android:layout_gravity="center" 13 />

が少し気になりました(TextViewのmatch_parentが)。

興味があればでいいのですが、

lang

1 <TextView 2 android:layout_width="match_parent" 3 android:layout_height="match_parent" 4 android:textColor="@color/mainTextColor" 5 android:text="hogehoge" 6 android:layout_weight="1" 7 android:textAppearance="?android:attr/textAppearanceLarge" 8 android:id="@+id/text_problem" /> 9 <ImageView 10 android:id="@+id/image_problem" 11 android:layout_width="100dp" 12 android:layout_height="100dp" 13 android:layout_weight="1" 14 android:layout_gravity="center" 15 />

などのようにしてみて、どうなるか確認してみてはどうでしょうか?
TextViewのmatch_parentをやめて、固定値を設定してみるなど。

投稿2015/03/12 05:12

naoki

総合スコア31

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

statuはOKってなっているけど、実は失敗しているって事は無いでしょうか?

例えばタイムアウトしているけど、エラーがちゃんと取得できていないって事とか。

タイムアウトを1ミリ秒に設定して、タイムアウトが発生した時にどんなエラーが出るかを見てみたり、あえてエラーが発生するように仕組んで、エラーの時にちゃんとエラーとして取得できるか、確認してみてはどうでしょう。

投稿2015/03/11 04:54

usugita_san

総合スコア226

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

KentoSasamoto

2015/03/11 04:56

無効なURL, タイムアウトを1ミリ秒に設定をしましたが、ともに正しいエラーメッセージが表示されました
guest

0

AQueryの勉強も兼ねて見てみましたが、特定できないですね・・・

”できるときもある”というのがとても厄介ですね。
ローカル上の固定のファイル(drawableなど)でどうなるかとか、
imageのカスタムコールバック(第6引数)無しでやってみるとか、
imageのキャッシュ(第2,3引数)をオフにしてみるとか、
原因の切り分けをしてみたらいかがでしょうか。

個人的にはカスタムコールバックあたりに何かあるのでは。。。と思っています。
力になれず申し訳ない。

投稿2015/03/10 04:51

sheepman

総合スコア13

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

KentoSasamoto

2015/03/11 04:57

コールバック無し、キャッシュ無しも試したがダメでした
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問