마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

NullPointExecption 이유좀 알려주세요..

–2 추천

로그는 아래와 같습니다..

 

 

06-24 11:42:43.340: E/AndroidRuntime(4980): FATAL EXCEPTION: main
06-24 11:42:43.340: E/AndroidRuntime(4980): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.btb.pump.pvt/com.btb.pump.pvt.TalkerListActivity}: java.lang.NullPointerException
06-24 11:42:43.340: E/AndroidRuntime(4980): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2072)
06-24 11:42:43.340: E/AndroidRuntime(4980): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2097)
06-24 11:42:43.340: E/AndroidRuntime(4980): at android.app.ActivityThread.access$600(ActivityThread.java:137)
06-24 11:42:43.340: E/AndroidRuntime(4980): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1203)
06-24 11:42:43.340: E/AndroidRuntime(4980): at android.os.Handler.dispatchMessage(Handler.java:99)
06-24 11:42:43.340: E/AndroidRuntime(4980): at android.os.Looper.loop(Looper.java:137)
06-24 11:42:43.340: E/AndroidRuntime(4980): at android.app.ActivityThread.main(ActivityThread.java:4885)
06-24 11:42:43.340: E/AndroidRuntime(4980): at java.lang.reflect.Method.invokeNative(Native Method)
06-24 11:42:43.340: E/AndroidRuntime(4980): at java.lang.reflect.Method.invoke(Method.java:511)
06-24 11:42:43.340: E/AndroidRuntime(4980): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)
06-24 11:42:43.340: E/AndroidRuntime(4980): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
06-24 11:42:43.340: E/AndroidRuntime(4980): at dalvik.system.NativeStart.main(Native Method)
06-24 11:42:43.340: E/AndroidRuntime(4980): Caused by: java.lang.NullPointerException
06-24 11:42:43.340: E/AndroidRuntime(4980): at com.btb.pump.pvt.TalkerListActivity.onCreate(TalkerListActivity.java:51)
06-24 11:42:43.340: E/AndroidRuntime(4980): at android.app.Activity.performCreate(Activity.java:5220)
06-24 11:42:43.340: E/AndroidRuntime(4980): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1082)
06-24 11:42:43.340: E/AndroidRuntime(4980): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2036)
06-24 11:42:43.340: E/AndroidRuntime(4980): ... 11 more
 
 
그리고 Activity의 소스입니다..
 
public class TalkerListActivity extends BaseActivity {
	private static final int REQUEST_TALKGROUT = 126;
	
	private MediaServiceAgent serviceAgent = null;
	private List<DeviceInfo> talkerList = null;
	private ListView mListView = null;
	private TextView mGroupText;
	
	private byte mTalkGroupType = Const.NORMAL;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_talker);
        setLayout();
        
        mGroupText =(TextView)findViewById(R.id.talking_group_name);
        
        // 회사별 로고 이미지 설정
        TextView category = setTitleBarText(R.string.title_category_settings);
     	Config.setTitleBarLogo((ImageView)findViewById(R.id.company_logo));
     	
     	DeviceInfo deviceInfo = new DeviceInfo();
        talkerList.add(deviceInfo);
        
        // ArrayAdapter 연결
        mListView.setAdapter(new TalkerListAdapter(this, R.layout.layout_talker_row, talkerList));
        
    
        // 서비스 시작.
     	startService(new Intent(this, MediaService.class)); // stopService를 호출하기 전까지 죽지 않도록 startService를 이용해서 시작시킨다.
     	setTalkgroupInfo();
//     	setSensitivity(0);
     	
		// 볼륨 키 설정으로 미디어 볼륨만 제어하도록 설정
		setVolumeControlStream(AudioManager.STREAM_MUSIC);

    }

 

디버깅 해보니까

 

talkerList.add 부분에서 멈추던데.. talkerList가 널이라는 건가요./.

 

add(deviceInfo); 가 잘못된건가여.. 알려주세요..

윤둥이 (4,560 포인트) 님이 2013년 6월 24일 질문

2개의 답변

0 추천

네 talkerList가 널이라는겁니다

건방진프로그래머 (26,630 포인트) 님이 2013년 6월 24일 답변
talkerList가 null이니까 제가 거기에다가 add 해주는거 아닌가요?
잘 이해가 되지 않습니다..
onCreate에서 리스트에 add를 해줘야 리스트가 뿌려지는거잖아요..
List 객체에 대해서 알아보세요 사용법..
아무곳도 가리키지 안았는데 가리킨곳에 추가하라고 하니까 NullPointerException 에러가 나는것이죠.
0 추천
talkerList = new ArrayList<DeviceInfo>();

이런식으로.,..생성해주세요
익명사용자 님이 2013년 6월 24일 답변
...