Heya - onPostExecute()에서 AsyncTask를 확장하는 클래스에서 startActivity()를 호출하려고합니다.인스턴스 메서드 내에서 startActivity()를 호출하면 NullPointerException이 발생합니다.
클래스 AsyncTask를 확장 :
protected void onPostExecute() {
Login login = new Login();
login.pushCreateNewOrChooseExistingFormActivity();
}
클래스 활동 확장 : 여기
이 흐름의public void pushCreateNewOrChooseExistingFormActivity() {
// start the CreateNewOrChooseExistingForm Activity
Intent intent = new Intent(Intent.ACTION_VIEW);
**ERROR_HERE*** intent.setClassName(this, CreateNewOrChooseExistingForm.class.getName());
startActivity(intent);
}
을 그리고 난이 오류가 ... 때마다 :
03-17 16:04:29.579: ERROR/AndroidRuntime(1503): FATAL EXCEPTION: main
03-17 16:04:29.579: ERROR/AndroidRuntime(1503): java.lang.NullPointerException
03-17 16:04:29.579: ERROR/AndroidRuntime(1503): at android.content.ContextWrapper.getPackageName(ContextWrapper.java:120)
03-17 16:04:29.579: ERROR/AndroidRuntime(1503): at android.content.ComponentName.(ComponentName.java:62)
03-17 16:04:29.579: ERROR/AndroidRuntime(1503): at android.content.Intent.setClassName(Intent.java:4850)
03-17 16:04:29.579: ERROR/AndroidRuntime(1503): at com.att.AppName.Login.pushCreateNewOrChooseExistingFormActivity(Login.java:47)
iOS 용 evelopers - 난 그냥 탐색 컨트롤러의 스택에 새보기 컨트롤러를 밀어하려고 오전 pushViewController:animated:
. 분명히 -이 플랫폼에서하기가 어렵습니다.
아이디어가 있으십니까? 미리 감사드립니다!
UPDATE - 고정 : @Falmarri 조언 당
, 내가이 문제를 해결 할 수 있었다.
우선, 나는 더 이상 Login login = new Login();
을 호출하여 새 로그인 개체를 만들지 않습니다. 나쁜. 나쁜. 나쁜. 쿠키가 없습니다. .execute()
를 호출하는 경우 대신
,이 가이드 (appfulcrum.com/?p=126)는 클래스 애플리케이션 컨텍스트 전달 제안하는 실행 AsyncTask를 내 상업적으로 아래와 :
CallWebServiceTask task = new CallWebServiceTask();
// pass the login object to the task
task.applicationContext = login;
// execute the task in the background, passing the required params
task.execute(login);
지금 onPostExecute()
에, 난 내 로그인을 얻을 수있는 것은 그래서 같은 방법을 객체 :
((Login) applicationContext).pushCreateNewOrChooseExistingFormActivity();
((Login) applicationContext).showLoginFailedAlert(result.get("httpResponseCode").toString());
...
희망이 다른 거기에 사람을하는 데 도움이! 안드로이드에 이상 transistioning 특히 아이폰 OS 개발자 ... Login
만약
'AndroidManifest.xml'에 활동을 선언 했습니까? – Malcolm
Android! = iPhone Android 기본 사항 (예 : 활동)에 대한 설명이있는 Android 기초를 읽고 이해했는지 확인하십시오. 네비게이션 컨트롤러 또는 뷰 컨트롤러의 개념은 없습니다. 그렇다고해서 아이폰처럼 다른 것을 시도하는 것이 어렵다는 것을 의미하지는 않습니다. http://developer.android.com/guide/topics/fundamentals.html –
@Malcolm, 예 : ... ... @Mayra, 할거야 - 다시 드로잉 보드에! –
Cole