안 탁 중 에 나타 난 무시 하기 쉬 운 이상 정리

4519 단어 android이상 하 다
1.외부 에서 activity 를 열 때 task 를 새로 열 어야 합 니 다.service 에서 activity 를 열 때 이 이상 이 발생 했 습 니 다.

W/System.err: android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
W/System.err:   at android.app.ContextImpl.startActivity(ContextImpl.java:944)
W/System.err:   at android.app.ContextImpl.startActivity(ContextImpl.java:931)
Flag 를 추가 하 겠 다 고 제안 한 FLAGACTIVITY_NEW_TASK 는 새로운 activity 를 만 드 는 activity 시작 방식 입 니 다.
2.setAdapter()이후 addHeaderView()를 추가 하면 이상 이 발생 합 니 다.
  • When first introduced, this method could only be called before setting the adapter with setAdapter(ListAdapter). Starting with KITKAT, this method may be called at any time.
  • KITKAT:October 2013:Android 4.4,KitKat,another tasty treat.android 4.4 이후 어디서 든 호출 할 수 있 으 며 4.4 이전 버 전이 잘못 보 고 됩 니 다.
  • 
    W/System.err: java.lang.IllegalStateException: Cannot add header view to list -- setAdapter has already been called.
    W/System.err:   at android.widget.ListView.addHeaderView(ListView.java:257)
    W/System.err:   at android.widget.ListView.addHeaderView(ListView.java:286)
    3.TextView.setText()는 charsequence 류 의 매개 변수 만 넣 을 수 있 습 니 다.전체 숫자 를 넣 으 면 다음 과 같은 오 류 를 보고 합 니 다.
    이 이상 한 원인 이 발생 한 setText()에 도 문자열 자원 id 를 넣 을 수 있 습 니 다.성형 을 하면 R 파일 에서 이 id 에 대응 하 는 문자열 을 찾 을 수 있 기 때문에 NotFoundException 의 이상 이 발생 합 니 다.즉,이 자원 id 에 대응 하 는 문 자 를 찾 을 수 없습니다.
    주:CharSequence 클래스 의 하위 클래스 는 String,StringBuffer,StringBuilder 가 있 습 니 다.
    
    E/InputEventReceiver: Exception dispatching input event.
    E/MessageQueue-JNI: Exception in MessageQueue callback: handleReceiveCallback
    E/MessageQueue-JNI: android.content.res.Resources$NotFoundException: String resource ID #0x28
    4.spinner 설정 감청 문제
    onItemClickListener 를 사용 하면 이상 이 발생 합 니 다.이상 은 다음 과 같 습 니 다.
    setOnItemClickListener cannot be used with a spinner.
    온 아 이 템 Selected Listener 를 사용 해 야 합 니 다.쉽게 밟 을 수 있 는 구덩이 입 니 다.
    
    W/System.err: java.lang.RuntimeException: Unable to start activity 
    java.lang.RuntimeException: setOnItemClickListener cannot be used with a spinner.
    W/System.err:   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
    W/System.err:   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
    W/System.err:   at android.app.ActivityThread.access$600(ActivityThread.java:141)
    W/System.err:   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
    W/System.err:   at android.os.Handler.dispatchMessage(Handler.java:99)
    W/System.err:   at android.os.Looper.loop(Looper.java:137)
    W/System.err:   at android.app.ActivityThread.main(ActivityThread.java:5041)
    W/System.err:   at java.lang.reflect.Method.invokeNative(Native Method)
    W/System.err:   at java.lang.reflect.Method.invoke(Method.java:511)
    W/System.err:   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
    W/System.err:   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
    W/System.err:   at dalvik.system.NativeStart.main(Native Method)
    W/System.err: Caused by: java.lang.RuntimeException: setOnItemClickListener cannot be used with a spinner.
    5.service 에서 progressDialog.show()방법 을 호출 할 때 이상 이 발생 합 니 다.
    progress 를 다른 응용 프로그램 위 에 띄 울 수 있 는 권한 으로 설정 하지 않 으 면 service 등 다른 구성 요소 에서 dialog.show()를 호출 할 때 현재 windows 를 얻 을 수 없 기 때문에 dialog 를 정상적으로 표시 할 수 없습니다.
    
    W/System.err: android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application
    W/System.err:   at android.view.ViewRootImpl.setView(ViewRootImpl.java:571)
    W/System.err:   at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:246)
    W/System.err:   at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:69)
    W/System.err:   at android.app.Dialog.show(Dialog.java:281)
    
    //context   application
     progressDialog = new ProgressDialog(context);
        progressDialog.setMessage(msg);
        progressDialog.setCancelable(cancelable);
        progressDialog.setCanceledOnTouchOutside(false);
        progressDialog.show();
    총결산
    이상 은 이 글 의 모든 내용 입 니 다.본 고의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가 치 를 가지 기 를 바 랍 니 다.여러분 의 저희 에 대한 지지 에 감 사 드 립 니 다.더 많은 내용 을 알 고 싶다 면 아래 링크 를 보 세 요.

    좋은 웹페이지 즐겨찾기