Android의 "Null 객체 참조에서 가상 메서드 'android.view.Window$Callback android.view.Window.getCallback()' 호출 시도"
이 오류는 활동이 완전히 초기화되기 전에 보기에 액세스하려고 시도할 때 발생합니다. 특히 null 개체에서 Window.getCallback() 메서드를 호출하면 오류가 발생하며, 이는 onCreate()에서 setContentView() 메서드가 아직 호출되지 않은 경우 발생할 수 있습니다.
원인 :
이 오류를 방지하려면 클래스에서 초기화하지 않고 뷰 필드를 선언하는 것이 중요합니다. 선언:
private EditText usernameField, passwordField; private TextView error; private ProgressBar progress;
그런 다음 setContentView()가 호출된 후 onCreate() 내에서 다음 필드에 값을 할당하세요.
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); usernameField = (EditText)findViewById(R.id.username); passwordField = (EditText)findViewById(R.id.password); error = (TextView)findViewById(R.id.error); progress = (ProgressBar)findViewById(R.id.progress); }
추가 조언:
new Handler().postDelayed(new Runnable() { @Override public void run() { Intent intent = new Intent(SplashActivity.this, LoginActivity.class); startActivity(intent); finish(); } }, 1500);
위 내용은 Android에서 'Null 개체 참조에서 가상 메서드 'android.view.Window$Callback android.view.Window.getCallback()' 호출 시도'가 표시되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!