저는 메인에서 일부 버튼을 설치하는 하위 클래스를 사용하고 있습니다. 나는 자식 내에서 TotalMoney와 같이 main에서 생성 된 변수를 변경할 수 있습니다.FindViewById null 자식 클래스에서 사용되는 경우
findViewById가 nullpointer 예외를주는 문제가 있습니다. buildthem() 내의 코드는 메인 클래스에서 사용될 때 잘 동작합니다.
setContentView (R.layout.main);을 사용하고 있습니다. 메인에서 OnCreate 내에서. Child 클래스는 인스턴스화되어 메인 클래스의 OnResume에서 호출됩니다.
자식에도 ContentView를 설정해야하나요, 아니면 메인 클래스의 콘텐츠 뷰를 어떻게 든 전달해야하나요? 루프가 각 버튼에 관련 것들에 대한 필요에 대한 전체 코드가
for(i=0; i<buttonIDs.length; i++) {
Button b = (Button) findViewById(buttonIDs[i]);
//do other stuff
}
를 사용하기 때문에
package com.chewyapps.markettrader;
class child extends main {
void buildthem(){
TotalMoney = TotalMoney + 9999;
Button MenuButton = (Button) findViewById(R.id.Menu);
//etc
}
}
나는 한 OnCreate에서 findViewById를 할 수 없다. 전체 코드가 작동한다고 가정해도 기본적인 예제가 작동 할 수 있습니다.
내가 사용하는 그것은이 문제를 언급하기 전에 나에게 발생하지 않았다, 그러나 자식 클래스는 onResume 내 main.java 파일에서, child.java라는 별도의 파일에 있습니다
child childObject = new child();
childObject.buildthem();
좋은 점. – trgraglia
제발 편집 해주세요 편집 해주세요. –
@ 톰 humphries가 내 대답을 업데이트했습니다. –