0

彼らが会社を去ったので、私は現在他の誰かのプロジェクトに取り組んでいます。私はインターンシップに参加しているだけで、Java は得意分野ではありません。

基本的に、アプリケーションはフィードから情報を受け取り、その情報を関連する場所に配置します。

ただし、クライアントは、同意した画像にグラフィックを配置するように求めました。

フィードへのアクセス権がないため、これは私のために行われました。

グラフィックを含むフィードが iPhone アプリで完全に正常に機能していることを指摘したいと思います。

検索ボタンを押すと、次のメッセージがログキャットに出力されます。

リンクをクリックするとわかるように、アイコンが表示されます。

タブをクリックしてプロパティを検索すると、フィードの読み込みが開始され、画像がリスト ビューに表示されます。画像は表示されますが、同意したアイコンがありません。これは、フィードの画像をサムネイルとして配置しているためだと思いますが、グラフィックを表示するために必要です(これがさえ正しいです)。

プロパティをクリックして表示すると、画像が消えます。

私は締め切りまで働いていますが、私を手伝ってくれる人がいません。しばらくお待ちください。

ここにあなたが見る必要があるかもしれないと思う私のクラスのいくつかがあります.

public class _06_Photos extends Activity implements ViewFactory{

    private static final int SWIPE_MIN_DISTANCE = 120;
    private static final int SWIPE_MAX_OFF_PATH = 250;
    private static final int SWIPE_THRESHOLD_VELOCITY = 200;


    //GUI  Components
    TextView tv_counter;
    //ImageView iv_activity;
    ImageSwitcher imageSwitcher;

    Button b_play;
    Button b_next;
    Button b_previous;

    FrameLayout topFrame, bottomFrame;


    //Images and Stuff
    String [] str_imageURLs;
    Bitmap [] bm_images;
    int picNum = 0;
    boolean play;
    boolean stop;
    Handler handler;

    Thread playThread;


    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.xl_06_photos);

        handler = new Handler();

        playThread = new Thread(Play);

        play = false;
        stop = false;
        playThread.start();

        str_imageURLs = new String[5];
        for(int i=0; i<5;++i)
            str_imageURLs[i] = "";

        bm_images = new Bitmap[5];

        InitView();

        Bundle extras = getIntent().getExtras();
        if (extras != null) {
            str_imageURLs[0] = extras.getString("img1");
            str_imageURLs[1] = extras.getString("img2");
            str_imageURLs[2] = extras.getString("img3");
            str_imageURLs[3] = extras.getString("img4");
            str_imageURLs[4] = extras.getString("img5");
        }

        for(int i=0; i<5; i++)
            System.out.println(str_imageURLs[i]);


        new Thread(new Runnable() {
            public void run() {
                for(int i=0; i<5; ++i)
                {
                    try{
                        bm_images[i] = FindPropertyActivity.DownloadImage(str_imageURLs[i]);
                    }
                    catch(Exception e){
                        System.out.println("Image" + i + " not downloaded - " + e);
                    }

                    try{
                    if(bm_images[i] == null)
                    {
                        System.out.println("Bitmap " + i + " is null");
                        bm_images[i] = BitmapFactory.decodeResource(getResources(), R.drawable.download_error);
                    }

                    if(picNum == i)
                        //iv_activity.setVisibility(View.INVISIBLE);
                        //Drawable d =new BitmapDrawable(bm_images[i]);
                        //imageSwitcher.setImageDrawable(d);
                        handler.post(SetPic);
                    }
                    catch(Exception e){
                        System.out.println("PicNum null/visiablity" + i + " not setCorrectly - " + e);
                    }
                }
                System.gc();
            }
          }).start();
    }

    private void InitView(){

        handler.post(SetPic);
        tv_counter = (TextView)findViewById(R.id.photo_tv_counter);
        imageSwitcher = (ImageSwitcher)findViewById(R.id.photo_imageSwitcher);
        imageSwitcher.setFactory(this);

        topFrame = (FrameLayout)findViewById(R.id.photo_topFrame);
        bottomFrame = (FrameLayout)findViewById(R.id.photo_bottomFrame);


        final GestureDetector gestureDetector = new GestureDetector(new MyGestureDetector());
        imageSwitcher.setOnTouchListener(new View.OnTouchListener() {

            public boolean onTouch(View v, MotionEvent event) {
                gestureDetector.onTouchEvent(event);
                    return true;
            }
        });

        b_play = (Button)findViewById(R.id.photo_b_play);
        if(play){   
            b_play.setBackgroundDrawable(getResources().getDrawable(R.drawable.button_pause));
            topFrame.setVisibility(View.INVISIBLE);
            bottomFrame.setVisibility(View.INVISIBLE);
        }
        else{
            b_play.setBackgroundDrawable(getResources().getDrawable(R.drawable.button_play)); 

        }
        b_play.setOnTouchListener(new View.OnTouchListener() {

            public boolean onTouch(View v, MotionEvent event) {
                if (event.getAction() == MotionEvent.ACTION_DOWN) {
                    Drawable background =  v.getBackground();
                    background.setColorFilter(0xFF7A7A7A, PorterDuff.Mode.MULTIPLY);
                    v.setBackgroundDrawable(background);
                } else if (event.getAction() == MotionEvent.ACTION_UP) {
                    Drawable background =  v.getBackground();
                    background.setColorFilter(null);
                    v.setBackgroundDrawable(background);

                    if(play){
                        play = false;
                        b_play.setBackgroundDrawable(getResources().getDrawable(R.drawable.button_play));
                    }

                    else{
                        play = true;
                        b_play.setBackgroundDrawable(getResources().getDrawable(R.drawable.button_pause));
                        topFrame.setVisibility(View.INVISIBLE);
                        bottomFrame.setVisibility(View.INVISIBLE);
                    }
                }
                return false;
            }
        });



        b_previous = (Button)findViewById(R.id.photo_b_previous);
        b_previous.setOnTouchListener(new View.OnTouchListener() {

            public boolean onTouch(View v, MotionEvent event) {
                if (event.getAction() == MotionEvent.ACTION_DOWN) {
                    Drawable background =  v.getBackground();
                    background.setColorFilter(0xFF7A7A7A, PorterDuff.Mode.MULTIPLY);
                    v.setBackgroundDrawable(background);
                } else if (event.getAction() == MotionEvent.ACTION_UP) {
                    Drawable background =  v.getBackground();
                    background.setColorFilter(null);
                    v.setBackgroundDrawable(background);

                    PreviousPic();
                }
                return false;
            }
        });

        b_next = (Button)findViewById(R.id.photo_b_next);
        b_next.setOnTouchListener(new View.OnTouchListener() {

            public boolean onTouch(View v, MotionEvent event) {
                if (event.getAction() == MotionEvent.ACTION_DOWN) {
                    Drawable background =  v.getBackground();
                    background.setColorFilter(0xFF7A7A7A, PorterDuff.Mode.MULTIPLY);
                    v.setBackgroundDrawable(background);
                } else if (event.getAction() == MotionEvent.ACTION_UP) {
                    Drawable background =  v.getBackground();
                    background.setColorFilter(null);
                    v.setBackgroundDrawable(background);

                    NextPic();
                }
                return false;
            }
        });
    }

    public void onDestroy(){
        super.onDestroy();
        stop = true;
    }

    private final Runnable SetPic = new Runnable() {
        public void run() {
            //iv_activity.setVisibility(View.INVISIBLE);
            Drawable d =new BitmapDrawable(bm_images[picNum]);
            imageSwitcher.setImageDrawable(d);
            System.out.println("Pic Set");

            tv_counter.setText("" + (picNum+1) + "/5");
        }
    };

    private final Runnable Play = new Runnable() {
        public void run() {
            while(!stop){
                try{

                    Thread.sleep(3000);
                    handler.post(new Runnable() {
                        public void run() {

                            if(play)
                                NextPic();
                        }
                    });
                }
                catch(Exception e){
                    System.out.println("Play Error - " + e);
                }
            }
        }
    };


    protected void NextPic(){

        try{
            picNum++;
            if(picNum > 4)
                picNum = 0;

            tv_counter.setText("" + (picNum+1) + "/5");

            imageSwitcher.setInAnimation(this, R.anim.slide_in_left ); // added
            imageSwitcher.setOutAnimation(this, R.anim.slide_out_left); // added
            Drawable d =new BitmapDrawable(bm_images[picNum]);
            imageSwitcher.setImageDrawable(d);
            System.out.println("Next Pic");
        }
        catch(Exception e){
            System.out.println("Next Fail " + e);
            imageSwitcher.setImageDrawable(null);
        }
    }

    protected void PreviousPic(){


            picNum--;
            if(picNum < 0)
                picNum = 4;

            tv_counter.setText("" + (picNum+1) + "/5");
        try{    
            imageSwitcher.setInAnimation(this, R.anim.slide_in_right ); // added
            imageSwitcher.setOutAnimation(this, R.anim.slide_out_right); // added
            Drawable d =new BitmapDrawable(bm_images[picNum]);
            imageSwitcher.setImageDrawable(d);
            System.out.println("Previous Pic");
        }
        catch(Exception e){
            System.out.println("Previous Fail " + e);
            //imageSwitcher.setImageResource(R.drawable.download_error);
            imageSwitcher.setImageDrawable(null);
        }

    }

    protected void ChangeBarVisibles(){
        if(topFrame.isShown()){
            topFrame.setVisibility(View.INVISIBLE);
            bottomFrame.setVisibility(View.INVISIBLE);
        }
        else{
            topFrame.setVisibility(View.VISIBLE);
            bottomFrame.setVisibility(View.VISIBLE);
        }
    }


    public View makeView() 
    {
        ImageView imageView = new ImageView(this);
        imageView.setBackgroundColor(0xFF000000);
        imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
        imageView.setLayoutParams(new 
                ImageSwitcher.LayoutParams(
                        LayoutParams.FILL_PARENT,
                        LayoutParams.FILL_PARENT));
        return imageView;
    }

    class MyGestureDetector extends SimpleOnGestureListener {
        @Override
        public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
            try {

                if (Math.abs(e1.getY() - e2.getY()) > SWIPE_MAX_OFF_PATH)
                    return false;
                // right to left swipe
                if(e1.getX() - e2.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
                    //Toast.makeText(SelectFilterActivity.this, "Left Swipe", Toast.LENGTH_SHORT).show();
                    NextPic();
                    //return true;
                }  else if (e2.getX() - e1.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
                    //Toast.makeText(SelectFilterActivity.this, "Right Swipe", Toast.LENGTH_SHORT).show();
                    PreviousPic();
                    //return true;
                }   
            } catch (Exception e) {
                // nothing
            }
            return true;
        }

       public boolean onSingleTapUp(MotionEvent e){
           if(e.getAction() == MotionEvent.ACTION_UP){
                ChangeBarVisibles();
           }
           return true;
        }
    }

    @Override
    public void onConfigurationChanged(Configuration newConfig) {
      super.onConfigurationChanged(newConfig);
      setContentView(R.layout.xl_06_photos);

      InitView();
    }

    @Override
    public void onStop(){
        super.onStop();
        System.gc();
    }
}

私の結果クラス:

public class _02_Results extends ListActivity {

    private SearchParser xmlParser;
    private URLQueryGenerator urlGen;

    //private ProgressDialog dialog;
    private Handler handler;
    private CellAdapter_SearchResults adapter;

    //private Thread thr_downloadImages;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.xl_02_results);

        handler = new Handler();

        //thr_downloadImages = new Thread();

        xmlParser = new SearchParser();
        urlGen = new URLQueryGenerator(getParent());
        adapter =new CellAdapter_SearchResults(_02_Results.this, AppDelegate.properties);
        setListAdapter(adapter);

        if(AppDelegate.properties.size() < 1){
            //Reset Results page number to one. Because the results are starting afresh.
            AppDelegate.pageNum = 1;
            handler.post(ReloadCells);
            GetResults();
        }

        if(AppDelegate.results_ListView_State != null)
            getListView().onRestoreInstanceState(AppDelegate.results_ListView_State);

        //if(AppDelegate.pick > 0)
        //  setSelection(AppDelegate.pick);

    }

    public void onResume()
    {
        super.onResume();
        System.gc();
        new Thread(LoadImages).start();
    }


    @Override
    protected void onListItemClick(ListView l, View v, int position, long id) {

        //If the last is picked and it is a Get More (Blank/Empty) Cell Download More Properties.
        if(position >= AppDelegate.properties.size()-1 && AppDelegate.properties.get(position).str_ID.length() <= 0)
        {
            xmlParser = new SearchParser();
            LoadMoreResults();
        }

        //Else view Property in Array
        else{
            Intent myIntent = new Intent(getParent(), _03_Detailed.class);
            AppDelegate.pick = position;
            TabGroupActivity parentActivity = (TabGroupActivity)getParent();
            parentActivity.startChildActivity("Detailed_03", myIntent);

            //Save the listview state for later init
            AppDelegate.results_ListView_State = getListView().onSaveInstanceState();
        }
    }


    protected void GetResults(){

        //Show Progress Dialog
        //dialog = ProgressDialog.show(getParent(), "", getResources().getString(R.string.search_alert), true);
        Toast.makeText(getApplicationContext(), getResources().getString(R.string.search_alert), Toast.LENGTH_SHORT).show();
        Runnable getResults = new Runnable() {
            public void run() {
                try{
                    //Get XML page from URL generated as a String
                    String xml = XMLfunctions.getXML(urlGen.createSearchURL());

                    if(xml == null){
                        handler.post(DownloadFail_Dialog);
                        System.out.println("xml is null");
                        return;
                    }

                    //Add the parsed properties return from Parser
                    AppDelegate.properties.addAll(xmlParser.ParserXML(xml));// xmlParser.ParserXML(urlString);

                    //Get the number of results for search
                    if(AppDelegate.numResults < 0)
                        AppDelegate.numResults = xmlParser.numResults;

                    System.out.println("Numb of Results:- " + AppDelegate.numResults);

                    //Add blank cell for more button
                    if(AppDelegate.properties.size() < xmlParser.numResults)
                        AppDelegate.properties.add(new Property());

                    //Refresh the ListView
                    try{handler.post(ReloadCells);}
                    catch(Exception e) { System.out.println(e);}

                    //dialog.dismiss();
                    if(AppDelegate.properties.size() < 1)
                        handler.post(NoResults_Dialog);
                }
                catch(Exception e){

                    //dialog.dismiss();
                    handler.post(DownloadFail_Dialog);
                    System.out.println(e);
                }
                finally{

                    //Dismiss Progress dialog
                    //dialog.dismiss();
                    System.gc();
                    new Thread(LoadImages).start();
                }
            }
        };
        new Thread(getResults).start();
    }


    protected void LoadMoreResults()
    {
        //Only proceed if more results are available
        if(AppDelegate.numResults > AppDelegate.properties.size()){
            Toast.makeText(getApplicationContext(), getResources().getString(R.string.search_more), Toast.LENGTH_SHORT).show();
            //Show progress dialog
            //dialog = ProgressDialog.show(getParent(), "",  getResources().getString(R.string.loading), true);

            Runnable getResults = new Runnable() {

                public void run() {
                    try{
                        AppDelegate.pageNum++;
                        String xml = null;

                        //Get XML Page as a String
                        xml = XMLfunctions.getXML(urlGen.createSearchURL() +  "&Page=" + AppDelegate.pageNum);
                        if(xml == null){
                            handler.post(DownloadFail_Dialog);
                            System.out.println("xml is null");
                            return;
                        }

                        //Add properties returned from XML Parser
                        AppDelegate.properties.addAll(AppDelegate.properties.size()-1, xmlParser.ParserXML(xml));// xmlParser.ParserXML(urlString);
                        handler.post(ReloadCells);
                    }
                    catch(Exception e){
                        System.out.println(e);
                        AppDelegate.pageNum--;
                        //dialog.dismiss();
                    }
                    finally{
                        //dialog.dismiss();
                        System.gc();
                        /*
                        if(thr_downloadImages.isAlive()){
                            thr_downloadImages.stop();
                            thr_downloadImages = null;
                        }   
                        thr_downloadImages = new Thread(LoadImages);
                        thr_downloadImages.start();
                        */
                        new Thread(LoadImages).start();
                    }
                }
            };
            new Thread(getResults).start();
        }
        else{
            handler.post(NoResults_Dialog);
        }
    }

    /**
     *  **IMPORTANT**
     * 
     *  The functions below are for the activity to be accessed at any point.
     *  They should only be access by Handler.
     * 
     *  By using the handler, this can be accessed from inside a separate Thread other than the Main one.
     *  This is done because some GUI elements can not be accessed inside a Thread, other than the Main.
     *  
     */

    private final Runnable LoadImages = new Runnable() {

        public void run() {

            for(int x=0; x <AppDelegate.properties.size(); x++){
                try{    
                    //Run the image download twice, because sometimes the images doesn't download the first time
                    if(AppDelegate.properties.get(x).img_thumb == null)
                        AppDelegate.properties.get(x).img_thumb = FindPropertyActivity.DownloadImage(AppDelegate.properties.get(x).str_imgURL1);
                    if(AppDelegate.properties.get(x).img_thumb == null)
                        AppDelegate.properties.get(x).img_thumb = FindPropertyActivity.DownloadImage(AppDelegate.properties.get(x).str_imgURL1);

                    handler.post(ReloadCells);
                }
                catch (Exception e) {System.out.println(e.toString());}
            }
        }
    };

    private final Runnable ReloadCells = new Runnable() {
        public void run() {
            adapter.UpdateDataSet(AppDelegate.properties);
            adapter.notifyDataSetChanged();
        }
    };

    private final Runnable DownloadFail_Dialog = new Runnable() {
        public void run() {
            AlertDialog.Builder builder = new AlertDialog.Builder(getParent());
            builder.setMessage(getResources().getString(R.string.download_fail))
                   .setCancelable(false)
                   .setPositiveButton(getResources().getString(R.string.ok), new DialogInterface.OnClickListener() {
                       public void onClick(DialogInterface dialog, int id) {
                            //do nothing
                       }
                   });

            AlertDialog alert = builder.create();
            alert.show();
        }
    };

    private final Runnable NoResults_Dialog = new Runnable() {
        public void run() {

            AlertDialog.Builder builder = new AlertDialog.Builder(getParent());
            builder.setMessage(getResources().getString(R.string.no_results))
                   .setCancelable(false)
                   .setPositiveButton(getResources().getString(R.string.ok), new DialogInterface.OnClickListener() {
                       public void onClick(DialogInterface dialog, int id) {
                            //do nothing
                       }
                   });
            AlertDialog alert = builder.create();
            alert.show();
        }
    };
}

別のクラスを貼り付ける余地はもうありません:(

どんな助けでも大歓迎です。

前もって感謝します!!

ローディング検索のログ キャットは次のとおりです。

09-11 13:13:47.451: I/System.out(8774): パーサーが完了しました!! 09-11 13:13:52.541: I/System.out(8774): java.io.FileNotFoundException: http://images.ultrait.me/ImageProcessor.aspx?imageURL=381/Sales/321464/53674_T_ADDRESSES_52056_TN.jpg&Text= LET AGREED 09-11 13:13:53.431: I/System.out(8774): java.io.FileNotFoundException: http://images.ultrait.me/ImageProcessor.aspx?imageURL=381/Sales/321465/58467_T_ADDRESSES_57077_OT. jpg&Text=LET AGREED 09-11 13:13:54.031: I/System.out(8774): java.io.FileNotFoundException: http://images.ultrait.me/ImageProcessor.aspx?imageURL=381/Sales/321466/ 58441_T_ADDRESSES_57075_OT.jpg&Text=LET AGREED 09-11 13:13:54.651: I/System.out(8774): java.io.FileNotFoundException: http://images.ultrait.me/ImageProcessor.aspx?imageURL=381/Sales/321467/53631_T_ADDRESSES_52035_TN.jpg&Text=LET AGREED 09-11 13:13:55.801: I/System.out(8774): java.io. FileNotFoundException: http://images.ultrait.me/ImageProcessor.aspx?imageURL=381/Sales/321468/53626_T_ADDRESSES_52026_TN.jpg&Text=LET AGREED 09-11 13:13:59.591: I/System.out(8774): java. io.FileNotFoundException: http://images.ultrait.me/ImageProcessor.aspx?imageURL=381/Sales/321469/53540_T_ADDRESSES_51961_TN.jpg&Text=LET AGREED 09-11 13:14:00.001: D/PowerManagerService(182): acquireWakeLock フラグ=0x1 tag=AlarmManager 09-11 13:14:00.031: D/PowerManagerService(182): releaseWakeLock フラグ=0x1 tag=AlarmManager 09-11 13:14:02.051: I/System.out(8774): java.io. FileNotFoundException: http://images.ultrait.me/ImageProcessor.aspx?imageURL=381/Sales/321470/53659_T_ADDRESSES_52050_TN.jpg&Text=LET AGREED 09-11 13:14:03.691: I/System.out(8774): java.io. FileNotFoundException: http://images.ultrait.me/ImageProcessor.aspx?imageURL=381/Sales/321471/53611_T_ADDRESSES_52018_TN.jpg&Text=LET AGREED 09-11 13:14:04.761: I/System.out(8774): java. io.FileNotFoundException: http://images.ultrait.me/ImageProcessor.aspx?imageURL=381/Sales/321472/53589_T_ADDRESSES_51972_TN.jpg&Text=LET AGREED 09-11 13:14:05.531: I/System.out(8774): java.io.FileNotFoundException: http://images.ultrait.me/ImageProcessor.aspx?imageURL=381/Sales/321473/46397_T_ADDRESSES_43205_OT.jpg&Text=LET 合意 09-11 13:14:05.851: I/System.out(8774): java.io.FileNotFoundException: http://images.ultrait.me/ImageProcessor.aspx?imageURL=381/Sales/321474/53664_T_ADDRESSES_52053_TN.jpg&Text =LET AGREED 09-11 13:14:06.531: I/System.out(8774): java.io.FileNotFoundException: http://images.ultrait.me/ImageProcessor.aspx?imageURL=381/Sales/321475/53669_T_ADDRESSES_52054_TN .jpg&Text=LET AGREED 09-11 13:14:08.701: I/System.out(8774): java.io.FileNotFoundException: http://images.ultrait.me/ImageProcessor.aspx?imageURL=381/Sales/321476 /53651_T_ADDRESSES_52049_TN.jpg&Text=LET AGREED 09-11 13:14:09.991: I/System.out(8774): java.io.FileNotFoundException: http://images.ultrait.me/ImageProcessor.aspx?imageURL=381/Sales/321477/43296_T_ADDRESSES_40850_TN.jpg&Text=LET AGREED 09-11 13:14:11.331: I/System.out(8774): java.io. FileNotFoundException: http://images.ultrait.me/ImageProcessor.aspx?imageURL=381/Sales/321478/53944_T_ADDRESSES_52241_TN.jpg&Text=LET 合意 09-11 13:14:11.961: I/System.out(8774): Numb of Results:- 177 09-11 13:14:12.031: I/System.out(8774): java.net.MalformedURLException: プロトコル見つかりません: 09-11 13:14:12.031: I/System.out(8774): java.lang.NullPointerException 09-11 13:14:12.031: I/System.out(8774): java.net.MalformedURLException:プロトコルが見つかりません: 09-11 13:14:12.031: I/System.out(8774): java.lang.NullPointerException 09-11 13:14:12.181: I/pcm_service(107): rmnet イベントの処理 09-11 13 :14:12.181: I/pcm_service(107): rstate == PCM_RMNETSTATE_ERROR in pcm_monitor_kevents 09-11 13:14:12.181: I/dun_service(115): rmnet イベントの処理 09-11 13:14:12.181: I/dun_service( 115): 投稿イベント 3 09-11 13:14:12.191: I/dun_service(115): 受信イベント: DUN_EVENT_RMNET_DOWN 09-11 13:14:12.191: I/dun_service(115):state(DUN_STATE_USB_UNPLUG) 09-11 13:14:12.191: I/dun_service(115): USB_UNPLUG_STATE 09-11 13:14:12.191 でイベント DUN_EVENT_RMNET_DOWN を無視します: I/dun_service(115): に移動しました状態 (DUN_STATE_USB_UNPLUG)

4

1 に答える 1

1

私はあなたのコードをチェックしていませんが、最初に頭に浮かぶのは、アプリケーションのパーミッションをチェックしましたか? そこから来るかもしれません。(例: インターネットのアクセス許可がありません。ファイルにアクセスする権限がないため、ファイルが見つかりません)

編集:この「str_imageURLs [i]」が奇妙なものを返さないかどうかを確認(デバッグまたはログ)する必要があります(URLのスペースを取り除く必要があります)。

それから、問題があれば、「FindPropertyActivity.DownloadImage」から来ると思います。投稿していただけますか? 画像を入力ストリームとして取得し、そこからドローアブルを形成しますか (DownloadImage で行われていない場合) ?

Edit2 : レイアウトに ImageView のみを含む基本的なアプリケーションを作成しました。次に、「DownloadImage」メソッドを使用して、追加のパラメーターなしで URL から画像を取得しました (「.jg」で停止しました)。非同期である必要があるため、android 4.2 では機能しません。

これをメインのアクティビティに追加すると、うまくいきました:

ThreadPolicy tp = ThreadPolicy.LAX;
StrictMode.setThreadPolicy(tp);

しかし、明らかに、これはすべきことではありません。

問題は、URL や画像を取得する方法ではありません。Android 4.2で問題なく動作します。

すべての system.out.println*** を Log.e("PutClassNameHere", "Put your custom message there", throwable); に置き換えていただけますか。? これにより、logCatにエラーが書き込まれます

于 2013-09-11T12:38:45.377 に答える