안드로이드, listview, unable to add window token null is not for an application
아래와 같은 구조에서 AlertDialog.Builder를 생성했을시 unable to add window token null is not for an application 라는 에러로그가 찍혔다..
extends ListView
ListView 내의 Custom Adapter을 이용해서 생성한 하나의 View
View 내의 TextView
.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
AlertDialog.Builder commentDlg = new AlertDialog.Builder(v.getRootView().getContext());
commentDlg.show()
}
}
혼자서 아무리 해결하려고 호출하는 ListActivity에 Context를 Static으로잡고 핸들러로 날리고 별 짓 다해봤는데 안됬다.
그래서 네이버를 검색 했는데 죄다 (Activity이름).this를 getApplicationContext()대신 쓰라고 하는것이다.
그래도 안된다....
그래서 구글링을 했는데 역시 스떽오버쁠로느님이 도와줬다.
http://stackoverflow.com/questions/6367771/displaying-alertdialog-inside-a-custom-listadapter-class
context를 얻을때 v.getRootView().getContext()를 사용하면(트릭이라고하는데?) 해결된다.
'소프트웨어 > Android/Java/Ndk' 카테고리의 다른 글
Android] 위젯 만들기 - 1. 위젯 껍데기 만들기 (0) | 2013.12.14 |
---|---|
java] ArrayList와 Hashmap검색속도관련 (1) | 2013.12.12 |
Android] LiswView의 성능향상을 위한 HolderPattern (0) | 2013.12.06 |
Android] Wifi 연결상태 변경 체크(브로드케스트리시버) (0) | 2013.11.23 |
Android] ArrayList복사시 (깊은복사와 얕은복사) (1) | 2013.11.09 |
Android] APP을 종료하지 않고 HOME으로 빠지기 (1) | 2013.11.09 |
Android] WifiManager를 이용해서 앱 탈출시 Wifi 꺼버리기 (0) | 2013.11.09 |