public class game3 extends Activity {
private Context mContext;
private Display mDisplay;
private int mWidth, mHight, mXWidth, mXHight;
private final int mDefaultWidth = 1280;
private final int mDefaultHight = 720;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.game3);
setDisplayView();
}
private void setDisplayView(){
mDisplay = ((WindowManager)mContext.getSystemService(mContext.WINDOW_SERVICE)).getDefaultDisplay();
int width = mDisplay.getWidth();
int hight = mDisplay.getHeight();
if(width > mDefaultWidth){
mWidth = (width - mDefaultWidth) / 2;
}
if(hight > mDefaultHight){
mHight = (hight - mDefaultHight) / 2;
}
mXWidth = mWidth + mDefaultWidth;
mXHight = mHight + mDefaultHight;
}
}
필요부분만 올리겠습니다.
이렇게 화면 비율을 s3를 기본으로 잡고 노트에서도 실행하려고하는데
에러는 없지만
실행해보면 빨간부분에 널포인트 입셉션이 발생하여 액티비티를 실행할수 없다고 나오던데.
이부분이 왜 널포인트가 들어오는지 궁금합니다. 해결방법도 알고싶습니다. ㅠ
자답입니다.
public class game3 extends Activity {
private Context mContext;
private Display mDisplay;
private int mWidth, mHight, mXWidth, mXHight;
private final int mDefaultWidth = 1280;
private final int mDefaultHight = 720;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.game3);
mContext = getBaseContext();
setDisplayView();
}
private void setDisplayView(){
mDisplay = ((WindowManager)mContext.getSystemService(mContext.WINDOW_SERVICE)).getDefaultDisplay();
int width = mDisplay.getWidth();
int hight = mDisplay.getHeight();
if(width > mDefaultWidth){
mWidth = (width - mDefaultWidth) / 2;
}
if(hight > mDefaultHight){
mHight = (hight - mDefaultHight) / 2;
}
mXWidth = mWidth + mDefaultWidth;
mXHight = mHight + mDefaultHight;
}
public class MyView extends View {
public MyView(Context context) {
mContext = context;
setBaseViewSize();
}
}
부분을 추가하여 해결하였습니다.




mContext
얘는 어디서 할당해주시나요?