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

커스텀 뷰 + AppInfo 로 짰는데 에러가 나네요 ㅠ

0 추천

책 봤을때 느낌은 왔는데 막상 짤려니까 전혀 모르겠네요 ㅋㅋ;
원인이 뭔지 잘 모르겠어요 ㅠㅠ
일단 소스 올립니다.

 

MainActivity.java

package com.example.xmlparser;

import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.view.Menu;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class MainActivity extends Activity {

 private static AppListAdapter mAdapter;
 private ArrayAdapter appList;
 private ArrayList<AppInfo> mListData;
 private ListView mListView;
 
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  

  PackageManager pm = this.getPackageManager();
  mListData =new ArrayList<AppInfo>();
  mAdapter = new AppListAdapter(this, R.layout.list_row_ad, mListData);
  
  // 설치된 어플리케이션 리스트 취득
  List<ApplicationInfo> packs = pm.getInstalledApplications(PackageManager.GET_UNINSTALLED_PACKAGES | PackageManager.GET_DISABLED_COMPONENTS);
  
  AppInfo info = null;
  for (ApplicationInfo app : packs) {
   info = new AppInfo();
   // App Icon
   info.mIcon = app.loadIcon(pm);
   // App Name
   info.mAppName = app.loadLabel(pm).toString();
   // App Package Name
   info.mAppPackage = app.packageName;
   mListData.add(info);
  }
  
  mListView.setAdapter(mAdapter);

  
  setContentView(R.layout.activity_main);
  
 }

 @Override
 public boolean onCreateOptionsMenu(Menu menu) {
  // Inflate the menu; this adds items to the action bar if it is present.
  getMenuInflater().inflate(R.menu.main, menu);
  return true;
 }

}

 

로그캣

 

08-10 04:35:25.750: E/AndroidRuntime(25326): FATAL EXCEPTION: main
08-10 04:35:25.750: E/AndroidRuntime(25326): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.xmlparser/com.example.xmlparser.MainActivity}: java.lang.NullPointerException
08-10 04:35:25.750: E/AndroidRuntime(25326):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2110)
08-10 04:35:25.750: E/AndroidRuntime(25326):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2135)
08-10 04:35:25.750: E/AndroidRuntime(25326):  at android.app.ActivityThread.access$700(ActivityThread.java:140)
08-10 04:35:25.750: E/AndroidRuntime(25326):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1237)
08-10 04:35:25.750: E/AndroidRuntime(25326):  at android.os.Handler.dispatchMessage(Handler.java:99)
08-10 04:35:25.750: E/AndroidRuntime(25326):  at android.os.Looper.loop(Looper.java:137)
08-10 04:35:25.750: E/AndroidRuntime(25326):  at android.app.ActivityThread.main(ActivityThread.java:4946)
08-10 04:35:25.750: E/AndroidRuntime(25326):  at java.lang.reflect.Method.invokeNative(Native Method)
08-10 04:35:25.750: E/AndroidRuntime(25326):  at java.lang.reflect.Method.invoke(Method.java:511)
08-10 04:35:25.750: E/AndroidRuntime(25326):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1036)
08-10 04:35:25.750: E/AndroidRuntime(25326):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:803)
08-10 04:35:25.750: E/AndroidRuntime(25326):  at dalvik.system.NativeStart.main(Native Method)
08-10 04:35:25.750: E/AndroidRuntime(25326): Caused by: java.lang.NullPointerException
08-10 04:35:25.750: E/AndroidRuntime(25326):  at com.example.xmlparser.MainActivity.onCreate(MainActivity.java:45)
08-10 04:35:25.750: E/AndroidRuntime(25326):  at android.app.Activity.performCreate(Activity.java:5206)
08-10 04:35:25.750: E/AndroidRuntime(25326):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
08-10 04:35:25.750: E/AndroidRuntime(25326):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2074)
08-10 04:35:25.750: E/AndroidRuntime(25326):  ... 11 more


 

bluehong (620 포인트) 님이 2013년 8월 10일 질문
8000자 미만이래서 소스가 많이 짤렸어요 ㅠ

1개의 답변

0 추천
mListView가 Null이어서 발생하는 문제입니다. findViewById가 빠진 것 같네요..
익명사용자 님이 2013년 8월 10일 답변
...