제가 리스트뷰에 추가하는것을 for문으로 출력하니 한개만 출력되어서
countdowntimer를 쓰니 에러가 뜹니다.
에러가나는 소스는 onFinish()에 위치해 있습니다.
12-14 14:51:27.237: E/AndroidRuntime(22818): FATAL EXCEPTION: main
12-14 14:51:27.237: E/AndroidRuntime(22818): java.lang.NullPointerException
12-14 14:51:27.237: E/AndroidRuntime(22818): at com.kmcpe.mcpelauncher.GoApp$1.onFinish(GoApp.java:78)
12-14 14:51:27.237: E/AndroidRuntime(22818): at android.os.CountDownTimer$1.handleMessage(CountDownTimer.java:118)
12-14 14:51:27.237: E/AndroidRuntime(22818): at android.os.Handler.dispatchMessage(Handler.java:99)
12-14 14:51:27.237: E/AndroidRuntime(22818): at android.os.Looper.loop(Looper.java:137)
12-14 14:51:27.237: E/AndroidRuntime(22818): at android.app.ActivityThread.main(ActivityThread.java:4950)
12-14 14:51:27.237: E/AndroidRuntime(22818): at java.lang.reflect.Method.invokeNative(Native Method)
12-14 14:51:27.237: E/AndroidRuntime(22818): at java.lang.reflect.Method.invoke(Method.java:511)
12-14 14:51:27.237: E/AndroidRuntime(22818): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:997)
12-14 14:51:27.237: E/AndroidRuntime(22818): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:764)
12-14 14:51:27.237: E/AndroidRuntime(22818): at dalvik.system.NativeStart.main(Native Method)
private ArrayList<Apps_List_Data> Array_Data;
private Apps_List_Data data;
private Apps_List_Adapter adapter;
String[] app_c;
String[] app_n;
String[] app_m;
ListView custom_list;
ProgressDialog dialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.goapp);
dialog = new ProgressDialog(this);
dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
dialog.setCancelable(false);
dialog.setMessage("로딩중 입니다.");
dialog.show();
PackageManager pm = getPackageManager();
app_c = getResources().getStringArray(R.array.apps_c);
app_n = getResources().getStringArray(R.array.apps_n);
app_m = getResources().getStringArray(R.array.apps_m);
RelativeLayout layout = (RelativeLayout)findViewById(R.id.goapp_layout);
Drawable d = layout.getBackground();
d.setAlpha(100);
layout.setBackgroundDrawable(d);
//ArrayList<String> app_cc = new ArrayList<String>();
//ArrayList<String> app_nn = new ArrayList<String>();
final List< ApplicationInfo > appList = pm.getInstalledApplications( 0 );
new CountDownTimer(3000, 1000) {
int c = 0;
public void onTick(long millisUntilFinished) {
int nSize = appList.size();
int appsize = app_c.length;
if(c<appsize){
c++;
for(int i = 0 ; i < nSize; i++ ) {
if(appList.get(i).packageName.indexOf(app_c[c]) != -1){
Array_Data = new ArrayList<Apps_List_Data>();
data = new Apps_List_Data(R.drawable.ic_launcher/*pm.getApplicationIcon(app_cc.get(c))*/, app_n[c],
app_c[c]);
Array_Data.add(data);
}
}
}
}
public void onFinish() {
dialog.dismiss();
adapter = new Apps_List_Adapter(GoApp.this,android.R.layout.simple_list_item_1, Array_Data);
custom_list.setAdapter(adapter);
custom_list = (ListView) findViewById(R.id.apps_listview);
}
}.start();
}