Articles of nullpointerexception

当我添加片段自定义转换时,unit testingNPE

当我添加自定义转换时,OnBackPressed()测试会抛出NPE。 没有自定义过渡就没问题。 为什么? 这个NPE只能在unit testing中发生,而不是应用程序。 class MyActivity { @Override public void onBackPressed() { ……. super.onBackPressed(); } private void putFragment(Fragment fragment) { String tag = fragment.getClass().getName(); FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); // TEST FAILED IF I ADD THE FOLLOWING LINE transaction.setCustomAnimations( R.anim.slide_in_left_fade_in, R.anim.fade_out_short_anim_time, R.anim.fade_in_short_anim_time, R.anim.slide_out_right_fade_out); transaction.replace(R.id.ub__add_profiles_content, fragment, tag); transaction.addToBackStack(tag); transaction.commit(); } } class MyActivityTest extends RiderRobolectricBase { […]

打开Hardwareacceleration的NullPointerException?

我通过简单的按钮点击我的应用程序收到一些错误消息。 点击animation应该开始,但按钮变大。 它在大多数设备上运行完美,但在某些设备上(我认为大多数是4.X及以上)它会崩溃。 exception消息(堆栈跟踪): java.lang.NullPointerException at android.view.GLES20RecordingCanvas.drawBitmap(GLES20RecordingCanvas.java:118) at android.graphics.drawable.BitmapDrawable.draw(BitmapDrawable.java:400) at android.view.View.draw(View.java:10999) at android.view.ViewGroup.drawChild(ViewGroup.java:3186) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2788) at android.view.ViewGroup.drawChild(ViewGroup.java:3184) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2788) at android.view.ViewGroup.drawChild(ViewGroup.java:3184) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2788) at android.view.ViewGroup.drawChild(ViewGroup.java:3184) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2788) at android.view.View.draw(View.java:11017) at android.view.View.getDisplayList(View.java:10444) at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:2896) at android.view.View.getDisplayList(View.java:10407) at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:2896) at android.view.View.getDisplayList(View.java:10407) at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:2896) at android.view.View.getDisplayList(View.java:10407) at android.view.HardwareRenderer$GlRenderer.draw(HardwareRenderer.java:883) at android.view.ViewRootImpl.draw(ViewRootImpl.java:2089) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1781) at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2666) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:156) […]

Android Fragment getActivity()= null

我在我的应用程序中使用片段。 使用它们时非常常见的问题是使用getActivity()时的NPE。 我知道我们可以通过每次检查getActivity() != null或检查片段是否为isAdded()来解决它。 在我的一个课程中,我在60多个地方获得了活动的背景。 检查getActivity()是否为null或者片段是否仍然添加到所有位置的活动中会使代码变得丑陋,更大且不可维护。 有没有其他方法来处理这个? 当它从活动中移除时,甚至可以销毁碎片(并在被移除时停止它一直在做的工作)吗? 这是一个建议的方式吗?

在android studio中为null

每当我点击运行项目时,它都会显示NullPointerException : null 。 我不知道是什么原因,为什么我得到这个? 注意不要将此问题指向什么是空指针exception的副本,以及如何解决它? ,因为我没有在任何控件或视图或任何代码行中获得null。 编辑:我正在使用Android Studio 1.4以及以下gradle配置: compileSdkVersion 23 buildToolsVersion “23.0.2”

在Android 5.0上单击时切换崩溃

在Android 5.0中点击我的应用程序中的开关时,应用程序崩溃并显示如下所示的logcat。 logcat不会在其中的任何位置引用我的代码,并且此开关在所有先前版本上都运行良好。 除了背景颜色外,开关看起来不可见,只有在点击后才会崩溃。 经过测试,无论我是否定义了setOnCheckedChangeListener函数,都会发生同样的事情。 即使交换机在布局中但从不在代码中,它仍然会在单击时崩溃。 其中一个开关: 这是我如何引用它。 // Doesn’t actually matter since same thing happens without this Switch sWind = (Switch) findViewById(R.id.switchWind); sWind.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { public void onCheckedChanged(CompoundButton v, boolean isChecked) { // Won’t reach here } }); logcat的: 11-17 22:09:18.722 30190-30190/com.egondev.android.patientzerotest E/InputEventReceiver﹕ Exception dispatching input event. 11-17 22:09:18.722 30190-30190/com.egondev.android.patientzerotest E/MessageQueue-JNI﹕ Exception in MessageQueue […]

使用SimpleCursorAdapter在onLoaderFinished中使用NullPointerException

我已经从ResourceCursorAdapter切换到我使用newView和bindView到SimpleCursorAdapter ,我只使用getView方法。 现在我在onLoaderFinished出错了。 虽然它在adapter.swapCursor(cursor)上给了我NullPointerException ,但我的适配器和游标对象都不是null 。 我将在下面发布我的所有代码。 非常感谢任何帮助(没有多余的头发留下来)。 import android.annotation.SuppressLint; import android.content.Context; import android.database.Cursor; import android.net.Uri; import android.os.Bundle; import android.provider.ContactsContract; import android.support.v4.app.FragmentActivity; import android.support.v4.app.LoaderManager; import android.support.v4.content.CursorLoader; import android.support.v4.content.Loader; import android.support.v4.widget.ResourceCursorAdapter; import android.util.Log; import android.util.SparseBooleanArray; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.view.Window; import android.widget.CheckBox; import android.widget.ListView; import android.widget.TextView; public class ContactSelect extends FragmentActivity […]

照片捕获Intent仅在Samsung手机上导致NullPointerException

照片捕获Intent仅在Samsung手机上导致NullPointerException 。 实施如下。 final Button capture = (Button)findViewById(R.id.capture_button); capture.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(cameraIntent, CAMERA_PIC_REQUEST); } }); protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == CAMERA_PIC_REQUEST) { Bitmap thumbnail = (Bitmap)data.getExtras().get(“data”); ImageView image = (ImageView)findViewById(R.id.photoResultView); image.setImageBitmap(thumbnail); } […]

使用Android相机捕获图像后的空指针

在我的应用程序中,我使用Android设备相机捕获图像。 对于某些设备,它工作正常但有些则不然。 我刚刚在LG nexus 4 E960上进行了测试,在我捕获图像后,我的应用程序崩溃而无法保存结果。 这是我的代码: //Using intent to open camera Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(intent,CAMERA_CAPTURE); 在activityResult中: protected void onActivityResult(int requestCode, int resultCode, Intent data) { if(resultCode==RESULT_OK) { if(requestCode==CAMERA_CAPTURE) { Bitmap pictTaken = null ; Bundle extras = data.getExtras(); if(extras.keySet().contains(“data”)) { pictTaken = (Bitmap) extras.get(“data”); picUri = getIntent().getData(); } else{ picUri = getIntent().getData(); […]

无法提供结果ResultInfo

有很多人在stackoverflow上遇到了同样的错误,但我无法在这些post中find任何相关的解决方案。 我的MainActivity正在使用startActivityForResult()启动一个新活动(SecondActivity); 然后SecondActivity用onBackPressed()返回一些数据; 和putExtra(); 从MainActivity.java中提取: public void addNewNote(View v){ Intent intent = new Intent(this, SecondActivity.class); intent.putExtra(“Source”, “NEW”); startActivityForResult(intent, 1); //1 is the result code } protected void onActivityResult(int requestCode, int resultCode, Intent data) { Log.v(“TAG”, data.getStringExtra(“Note”)); if (requestCode == 1) { if(resultCode == RESULT_OK){ listItems.add(data.getStringExtra(“Note”)); Log.v(“TAG”, data.getStringExtra(“Note”)); adapter.notifyDataSetChanged(); listView.invalidateViews(); } if (resultCode == RESULT_CANCELED) { […]

Android:this.getApplication()返回NULL指针

我在一个Activity中运行以下行,它在同一个应用程序中,但是在另一个包中: AppObject appObj = (AppObject)this.getApplication(); // FYI: AppObject is my extension class of Application. 它只返回一个空指针,而当我将它移动到“main”包并从那里运行它时,它会按预期返回应用程序引用。 我已经在AndroidManifest.xml中使用完全限定的类名定义了活动,因为它位于另一个包中: 我有什么不同的想法? 谢谢 更新:如下面的问题所示android:name=”AppObject”已经在AndroidManifest.xml的标签中