検索

ホームページ  >  に質問  >  本文

android-studio - Android studio运行程序白屏,程序没问题的,怎么回事?

之前在这个程序反复修改,测试volley都没问题,最后这个缺白屏,什么提示也没有。程序没问题吧,我在idea上运行都正常的。怎么回事呢?

程序是这样子的:

package com.example.volleyimagedemo;
import android.app.Activity;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.support.v4.util.LruCache;
import com.android.volley.RequestQueue;
import com.android.volley.toolbox.ImageLoader;
import com.android.volley.toolbox.NetworkImageView;
import com.android.volley.toolbox.Volley;

public class MainActivity extends Activity {

        private RequestQueue mQueue;
        private NetworkImageView image;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_main);
                initView();
                getImage("http://e.hiphotos.baidu.com/image/pic/item/b58f8c5494eef01fd6508e15e6fe9925bd317d9e.jpg");
        }
        private void initView() {

                mQueue = Volley.newRequestQueue(getApplicationContext());
                image= (NetworkImageView) findViewById(R.id.image);
        }
        private void getImage(String url) {

                ImageLoader loader = new ImageLoader(mQueue, new BitmapCache());
                image.setDefaultImageResId(R.mipmap.ic_launcher);
                image.setErrorImageResId(R.mipmap.ic_launcher);
                image.setImageUrl(url, loader);

        }
        public class BitmapCache implements ImageLoader.ImageCache{
                private LruCache<String, Bitmap> mcCache;

                public BitmapCache() {
                        int maxSize = (int) Runtime.getRuntime().maxMemory();
                        int mySize = maxSize / 4;
                        mcCache = new LruCache<String, Bitmap>(mySize) {
                                @Override
                                protected int sizeOf(String key, Bitmap value) {
                                        return value.getByteCount();
                                }
                        };
                }
                @Override
                public Bitmap getBitmap(String s) {

                        return mcCache.get(s);
                }
                @Override
                public void putBitmap(String s, Bitmap bitmap) {
                        mcCache.put(s, bitmap);
                }
        }
}

xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

    <com.android.volley.toolbox.NetworkImageView
            android:id="@+id/image"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
</LinearLayout>

网络已开:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.example.volleyimagedemo">

    <uses-permission android:name="android.permission.INTERNET"/>

    <application
            android:allowBackup="true"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name"
            android:supportsRtl="true"
            android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>

                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
    </application>

</manifest>

我尝试clean project一下,却提示:

PHP中文网PHP中文网2773日前768

全員に返信(2)返信します

  • PHP中文网

    PHP中文网2017-04-17 15:32:16

    ファイルを削除できません: ファイルは使用中であるため、他のツールを使用して、どのプロセスがファイルを占有しているかを確認してください。

    画面が白いのは、APP の背景が白であるためです。TextView の色を黒に変更して再試行してください。

    返事
    0
  • 迷茫

    迷茫2017-04-17 15:32:16

    最後のクリーンアップが失敗した場合は、app->build でプロジェクトのビルド フォルダーを直接クリーンアップし、手動で削除します。

    返事
    0
  • キャンセル返事