Java 调用另一个类的方法的onCreate方法
我想调用另一个类的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
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;
}
}