Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.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 调用另一个类的方法的onCreate方法_Java_Android_Android Lifecycle - Fatal编程技术网

Java 调用另一个类的方法的onCreate方法

Java 调用另一个类的方法的onCreate方法,java,android,android-lifecycle,Java,Android,Android Lifecycle,我想调用另一个类的onCreate方法 我的代码: new BitmapHandler().loadBitmap(gridViewItem.getImage(), holder.imageItem); 另一个类的方法: public void loadBitmap(int resId, ImageView imageView) { final String imageKey = String.valueOf(resId); final Bitmap bitmap = get

我想调用另一个类的onCreate方法

我的代码:

new BitmapHandler().loadBitmap(gridViewItem.getImage(), holder.imageItem);
另一个类的方法:

public void loadBitmap(int resId, ImageView imageView) {
    final String imageKey = String.valueOf(resId);

    final Bitmap bitmap = getBitmapFromMemCache(imageKey);
    if (bitmap != null) {
        imageView.setImageBitmap(bitmap);
    } else {
        BitmapWorkerTask task = new BitmapWorkerTask(imageView);
        task.execute(resId);
    }
}
发生NullPointerException的方法:

NullPointerException的原因是我必须在创建时初始化

另一个类的onCreate方法:

在这种情况下,如何调用onCreate?还是应该在其他地方进行初始化


谢谢大家,还有TGIF:

,因为我认为您不能调用onCreate。但是你能做的就是定义一些函数,然后把代码移到那个函数中。在创建时调用该函数,也可以使用该类的对象调用该函数。我认为这可能会对您有所帮助。在另一个类中,让它从Activity扩展,并在onCreate中调用此方法。如果将代码表单onCreate移动到getBitmapFromMemCache方法,会发生什么?我在理解此问题时遇到问题。基本上,onCreate是生命周期事件调用的方法之一,而不是您。如果您想在片段或活动之间传输数据位图,那么这是不正确的方法。我只是在猜测,因为显然您正在尝试从第二个活动中检索mMemoryCache。
public Bitmap getBitmapFromMemCache(String key) {
    return mMemoryCache.get(key); //this line occurs Exception
}
@Override
public void onCreate(Bundle savedInstanceState) {
    Log.e(TAG, "onCreate"); //never called
    super.onCreate(savedInstanceState);

    final int maxMemory = (int) (Runtime.getRuntime().maxMemory() / 1024);

    final int cacheSize = maxMemory / 8;

    RetainFragment retainFragment = RetainFragment.findOrCreateRetainFragment(getFragmentManager());
    mMemoryCache = retainFragment.mRetainedCache;
    if (mMemoryCache == null) {
        mMemoryCache = new LruCache<String, Bitmap> (cacheSize) {
            @Override
            protected int sizeOf(String key, Bitmap bitmap) {
                return bitmap.getByteCount() / 1024;
            }
        };
        retainFragment.mRetainedCache = mMemoryCache;
    }
}