현재 Android 앱을 디버그하려고합니다. 나는 첫 번째 화면을 구축했으며 탭 호스트를 사용하고 있습니다. TabHost에 몇 가지 사소한 수정을 가하여 내 응용 프로그램의 다른 부분과 작업 할 몇 가지 추가 메서드 (전체 소스)를 추가했습니다.null 포인터 XML에서 팽창 할 때 예외 (TabActivity를 사용하지 않음)
그러나 다음을 실행하려고하면 Inflate에서 널 포인터 예외가 발생하고 실제로 이유는 알 수 없습니다. 내 SDK의 전체 Android 소스를 다운로드하고 Eclipse에서 인플레이션 프로세스를 단계별로 실행하여 오류에 대한 추가 정보를 얻을 수 있는지 찾아야합니다.
정확히 어떤 라인이 오류를 일으키는 지 알았지 만 (소스는 아래에 포함되어 있음) 디버거를 단계별로 실행하면 이상한 일이 발생했습니다. if/else 경우 if == true이면 새로운 Parser() 객체를 반환해야하고, 그 코드를 실행하고 Parser의 생성자를 성공적으로 밟았지만, 그 다음에 반환 된 다음 명령어는 바로 빠져 나갔다. 다음 행의 명령문 그룹은 널 (NULL)을 리턴합니다.
생성자가 제대로 실행 된 것 같습니다 (궁금한 점을 대비하여 XmlBlock.java에 있음) 아직 다음 줄로 이동하여 null을 반환하고 이것이 왜 발생하는지 전혀 모릅니다. 나는 솔루션을 찾았지만, 지금까지 유일한 문제는 내 애플리케이션에 적합하지 않은 TabActivity를 사용하는 누군가가 발생했다는 것입니다. 탭과 뷰가 프로젝트 내에서 정의한 객체 (IOS 스타일 뷰 컨트롤러와 유사)에 의해 생성되고 인 텐트를 사용하여 새로운 액티비티를 시작하는 과정을 분리하지 않아야합니다.
다른 사람이 내게 문제가 무엇인지 말해 줄 수 없기 때문에 누군가 내 출처를보고 내가 뭘 잘못하고 있는지 말해 줄 수 있습니까? http://pastebin.com/9VRE2UGW
"앱의 다른 부분과 작업하는"활동에 "몇 가지 추가 메소드 추가"를 사용하는 경우 잘못된 동작을하는 것처럼 들립니다. – Falmarri
저는 UI와 컨트롤러 로직을 조금 섞은 Android의 일종의 클래스/클래스를 Activities의 모든 것에서 정말 좋아하지 않습니다. 나는 더 깨끗한 분리 된 IOS 스타일의 ViewController 객체를 선호했다. 그래서 나는 그들 주위에 내 애플 리케이션을 디자인 해왔다. 좋은 VC 기본 클래스를 함께 던지고 거기에서 일하는 것이 그리 어렵지 않았습니다. 나는 이미 초기 문제를 해결하고 있으며 이제는 CSV를 SQLite 파서로 Objective-C에서 Java로 포팅하여 더 많은 작업을 수행하고 있습니다. – Fallout2man