[android] sendUserActionEvent ()가 null입니다.

여기 진짜 멍청이가 있어요. 스피너를 클릭하거나, 메뉴 항목을 열거 나, 길게 클릭 할 때 상황에 맞는 메뉴를 열면 동일한 Logcat 메시지가 나타납니다.

08-02 21:20:57.264: E/ViewRootImpl(31835): sendUserActionEvent() mView == null

태그는 ViewRootImpl이고 메시지는 sendUserActionEvent() mView == null입니다. 나는 이것에 대해 웹에서 도움이되는 것을 찾을 수 없었다. Android 소스를 검색 한 결과에 대한 일부 참조를 찾았 mView지만이 로그 메시지가 인쇄 된 파일을 찾을 수 없습니다. 참고로 4.2.2 또는 API 17을 실행하는 Samsung Galaxy S4를 사용하고 있습니다. Android 4.3을 실행하는 Nexus 7에서 디버깅 할 때 동일한 메시지가 표시되지 않습니다. 어떤 아이디어? 삼성과 관련된 문제인가요?



답변

나는 또한 S4에서 똑같은 것을 옹호했다. Galaxy Grand, HTC, Sony Experia에서 앱을 테스트했지만 s4에서만 얻었습니다. 앱과 관련이 없으므로 무시할 수 있습니다.


답변

내 Galaxy S4 전화에서 context.startActivity (addAccountIntent); startActivity (new Intent (Settings.ACTION_ADD_ACCOUNT));


답변

Galaxy Tab과 Xperia S에서 동일한 문제, 제거 및 다시 설치 후 사라진 것 같습니다.

갑자기이 문제를 일으키는 것으로 보이는 코드는 다음과 같습니다.

public void unlockMainActivity() {
    SharedPreferences prefs = getSharedPreferences("CALCULATOR_PREFS", 0);
    boolean hasCode = prefs.getBoolean("HAS_CODE", false);
    Context context = this.getApplicationContext();
    Intent intent = null;

    if (!hasCode) {
        intent = new Intent(context, WellcomeActivity.class);
    } else {
        intent = new Intent(context, CalculatingActivity.class);
    }
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    (context).startActivity(intent);
}


답변

Cursor와 관련된 코드를 수정 한 후에도 비슷한 문제가 발생합니다.

public boolean onContextItemSelected(MenuItem item)
{
        AdapterContextMenuInfo info = (AdapterContextMenuInfo)item.getMenuInfo();
        Cursor c = (Cursor)adapter.getItem(info.position);
        long id = c.getLong(...);
        String tempCity = c.getString(...);
            //c.close();
...
}

내가 주석 처리 한 후 //c.close (); 잘 작동합니다. 끝에서 시도하고 업데이트 초기 설정은 다음과 같습니다. Fragment에 목록보기가 있고 contextMenu를 통해 목록에서 항목을 삭제하려고합니다.


답변

이것은 두 개의 다른 활동에서 동일한 ID를 가진 두 개의 버튼을 갖는 것과 관련이 있습니다. 때로는 Android Studio가 찾을 수 없습니다. 버튼에 새 ID를 부여하고 프로젝트를 다시 빌드하면됩니다.


답변

모든 삼성 기기에서 발생하는 오류입니다. 해결책은 다음과 같습니다. Manifest의 활동 선언에이 줄을 넣으세요.

android:configChanges="orientation|screenSize"

또한 활동을 시작할 때 다음을 수행해야합니다.

Intent intent = new Intent(CurrentActivity.this, NextActivity.class);
intent.setType(Settings.ACTION_SYNC_SETTINGS);
CurrentActivity.this.startActivity(intent);
finish();

나는 이것을 사용하여 활동을 전체 화면 모드로 만들었지만이 질문에는 전체 화면 코드가 필요하지 않지만 모든 경우에 누군가가 필요할 수 있으므로 나머지 코드에 대해서는이 질문을 참조 할 수 있습니다.

VideoView를 전체 화면으로 만드는 방법


답변