// Resources res = getResources();
// DisplayMetrics dm = res.getDisplayMetrics();
// int width = (int) TypedValue.applyDimension(
// TypedValue.COMPLEX_UNIT_DIP, 270, dm); // 폭 길이
// int height = (int) TypedValue.applyDimension(
// TypedValue.COMPLEX_UNIT_DIP, 400, dm); // 높이길이
//
// linear = (LinearLayout)findViewById(R.id.linear);
//
// popupview = View.inflate(this, R.layout.dialog, null);
// //new PopupWindow(popupview, 200, 100, true);
//
// //mContext = getApplicationContext();
//
// popup = new PopupWindow(popupview,200,100,true);
//
//
// popup.showAtLocation(linear, Gravity.CENTER, 10, 10); //에러...
실행하자마 팝업을 띄어줄려고하는데요..
왜 저기서 에러가나는지 모르겠습니다.. ( 빨강색소스)..
머가 문제일까요;;; 답변 좀 부탁드립니다...
근데 버튼을 클릭해서 popup.showAtLocation(linear, Gravity.CENTER, 10, 10);
실행을 주면은 팝업창은 띄어집니다;;; 뭐가 문제인지모르겟네요..ㅠ
popup.showAtLocation(linear, Gravity.CENTER, 10, 10); //에러...
여기서 오류가 발생되었다면 linear변수의 오류일 확률이 가장 높네요.
제 생각에는 위에 소스가 popup창을 생성하는 클래스에서 실행되는 건가요?
그렇다면 생성자에서 넘겨받은 view를 linear대신 넣어야 맞습니다.
예를 들어 public popup(View view) 라고 하면 여기에서 받은 view변수를 linear대신 넣는거죠.
그리고 어플 실행시 팝업을 띄우려면 Activity를 상속받은 곳에서 view하나는 생성하여 넘겨주면 되구요.




소스나 에러를 봐야 정확히 알겠지만, 버튼을 눌러..(이미 앱이 정상적으로 실행된 후..) 뜬다는 것으로 봐서.
linear = (LinearLayout)findViewById(R.id.linear); 가 실행되는 시점때문인것 같습니다.(setContentView 전/후)
onCreate에 보통 있는 setContentView 가 호출되기 전에는 이 findViewById는 null을 return 합니다.
따라서 setContentView 호출된 다음에 위의 코드를 실행해 보세요.