익셉션이 뜨는데..


첨에는 어레이리스트의 값을 아무것도 안주고 커스텀리스트뷰를 띄워서 그런줄 알았는데


값을 줘도 리스트뷰조차 뜨지를 못하네요..


아래 소스입니다.


제발 조언 부탁드려요.


package com.example.ex_smsrc;


import java.util.ArrayList;


import android.os.Bundle;

import android.app.Activity;

import android.content.BroadcastReceiver;

import android.content.Context;

import android.content.Intent;

import android.content.IntentFilter;

import android.view.LayoutInflater;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.view.ViewGroup;

import android.widget.ArrayAdapter;

import android.widget.BaseAdapter;

import android.widget.ListView;

import android.widget.TextView;

import android.widget.Toast;

import android.support.v4.app.NavUtils;

import android.telephony.SmsMessage;


public class MainActivity extends Activity {


public ArrayList<SmsInfo> smsList;

public MyListAdapter myAdapter;

public ListView list;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);


list = (ListView) findViewById(R.id.listView1);


smsList = new ArrayList<SmsInfo>();

SmsInfo smsinfo;

smsinfo = new SmsInfo("테스트입니다.", "테스트");

smsList.add(smsinfo);

myAdapter = new MyListAdapter(this, R.layout.customlistlay, smsList);

list.setAdapter(myAdapter);


}


@Override

protected void onResume() {

// TODO Auto-generated method stub

super.onResume();

// IntentFilter intentFilter = new IntentFilter();

// intentFilter.addAction("android.provider.Telephony.SMS_RECEIVED");


registerReceiver(br, new IntentFilter(

"android.provider.Telephony.SMS_RECEIVED"));


}


@Override

protected void onPause() {

// TODO Auto-generated method stub

super.onPause();

unregisterReceiver(br);

}


BroadcastReceiver br = new BroadcastReceiver() {


@Override

public void onReceive(Context context, Intent intent) {

// TODO Auto-generated method stub


Toast.makeText(getApplicationContext(), "BR 진입 완료", 1000).show();


// String result = "";

Bundle bundle = intent.getExtras();

if (bundle != null) {

Object[] pdus = (Object[]) bundle.get("pdus");

for (int i = 0; i < pdus.length; i++) {

SmsMessage msg = SmsMessage.createFromPdu((byte[]) pdus[i]);

// result += "보낸이" + msg.getOriginatingAddress() + "\n"

// + msg.getMessageBody() + "\n";

smsList.add(new SmsInfo(msg.getOriginatingAddress(),msg.getMessageBody()));

}

//txt.setText(result);

myAdapter.notifyDataSetChanged();

}


}

};


class SmsInfo { // innerClass

public String from;

public String smsBody;


public SmsInfo(String From, String Body) {

this.from = From;

this.smsBody = Body;

}


public String getFrom() {

return from;

}


public String getBody() {

return smsBody;

}

}


class MyListAdapter extends BaseAdapter {


Context maincon;

LayoutInflater Inflater;

ArrayList<SmsInfo> arSrc;

int layout;

public MyListAdapter(Context context, int alayout, ArrayList<SmsInfo> aarSrc) {

Toast.makeText(getApplicationContext(), "커스텀 리스트뷰 생성자 진입", 1000).show();

maincon = context;

Inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

arSrc = aarSrc;

layout = alayout;

}


@Override

public int getCount() {

// TODO Auto-generated method stub

return arSrc.size();

}


@Override

public String getItem(int position) {

// TODO Auto-generated method stub

return arSrc.get(position).getFrom();

}


@Override

public long getItemId(int position) {

// TODO Auto-generated method stub

return position;

}


@Override

public View getView(int position, View convertView, ViewGroup parent) {

// TODO Auto-generated method stub

final int pos = position;

if(convertView == null) {

convertView = Inflater.inflate(layout, parent, false);

}

TextView sendfrom = (TextView)findViewById(R.id.sendfrom);

sendfrom.setText(arSrc.get(position).getFrom());

TextView smsbody = (TextView)findViewById(R.id.smsbody);

smsbody.setText(arSrc.get(position).getBody());

return convertView;

}


}


}



로그캣 내용 추가합니다...ㅠㅠ
이렇게 올려드리는게 맞는지 잘 모르겠네요.ㅠㅠ

07-20 18:20:13.712: D/AndroidRuntime(7640): Shutting down VM
07-20 18:20:13.712: W/dalvikvm(7640): threadid=1: thread exiting with uncaught exception (group=0x4001e578)
07-20 18:20:13.720: E/AndroidRuntime(7640): FATAL EXCEPTION: main
07-20 18:20:13.720: E/AndroidRuntime(7640): java.lang.NullPointerException
07-20 18:20:13.720: E/AndroidRuntime(7640): at com.example.ex_smsrc.MainActivity$MyListAdapter.getView(MainActivity.java:156)
07-20 18:20:13.720: E/AndroidRuntime(7640): at android.widget.AbsListView.obtainView(AbsListView.java:1560)
07-20 18:20:13.720: E/AndroidRuntime(7640): at android.widget.ListView.measureHeightOfChildren(ListView.java:1265)
07-20 18:20:13.720: E/AndroidRuntime(7640): at android.widget.ListView.onMeasure(ListView.java:1176)
07-20 18:20:13.720: E/AndroidRuntime(7640): at android.view.View.measure(View.java:8366)
07-20 18:20:13.720: E/AndroidRuntime(7640): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
07-20 18:20:13.720: E/AndroidRuntime(7640): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1017)
07-20 18:20:13.720: E/AndroidRuntime(7640): at android.widget.LinearLayout.measureVertical(LinearLayout.java:386)
07-20 18:20:13.720: E/AndroidRuntime(7640): at android.widget.LinearLayout.onMeasure(LinearLayout.java:309)
07-20 18:20:13.720: E/AndroidRuntime(7640): at android.view.View.measure(View.java:8366)
07-20 18:20:13.720: E/AndroidRuntime(7640): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
07-20 18:20:13.720: E/AndroidRuntime(7640): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1017)
07-20 18:20:13.720: E/AndroidRuntime(7640): at android.widget.LinearLayout.measureVertical(LinearLayout.java:386)
07-20 18:20:13.720: E/AndroidRuntime(7640): at android.widget.LinearLayout.onMeasure(LinearLayout.java:309)
07-20 18:20:13.720: E/AndroidRuntime(7640): at android.view.View.measure(View.java:8366)
07-20 18:20:13.720: E/AndroidRuntime(7640): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
07-20 18:20:13.720: E/AndroidRuntime(7640): at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
07-20 18:20:13.720: E/AndroidRuntime(7640): at android.view.View.measure(View.java:8366)
07-20 18:20:13.720: E/AndroidRuntime(7640): at android.widget.LinearLayout.measureVertical(LinearLayout.java:531)
07-20 18:20:13.720: E/AndroidRuntime(7640): at android.widget.LinearLayout.onMeasure(LinearLayout.java:309)
07-20 18:20:13.720: E/AndroidRuntime(7640): at android.view.View.measure(View.java:8366)
07-20 18:20:13.720: E/AndroidRuntime(7640): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
07-20 18:20:13.720: E/AndroidRuntime(7640): at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
07-20 18:20:13.720: E/AndroidRuntime(7640): at android.view.View.measure(View.java:8366)
07-20 18:20:13.720: E/AndroidRuntime(7640): at android.view.ViewRoot.performTraversals(ViewRoot.java:844)
07-20 18:20:13.720: E/AndroidRuntime(7640): at android.view.ViewRoot.handleMessage(ViewRoot.java:1865)
07-20 18:20:13.720: E/AndroidRuntime(7640): at android.os.Handler.dispatchMessage(Handler.java:99)
07-20 18:20:13.720: E/AndroidRuntime(7640): at android.os.Looper.loop(Looper.java:130)
07-20 18:20:13.720: E/AndroidRuntime(7640): at android.app.ActivityThread.main(ActivityThread.java:3687)
07-20 18:20:13.720: E/AndroidRuntime(7640): at java.lang.reflect.Method.invokeNative(Native Method)
07-20 18:20:13.720: E/AndroidRuntime(7640): at java.lang.reflect.Method.invoke(Method.java:507)
07-20 18:20:13.720: E/AndroidRuntime(7640): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842)
07-20 18:20:13.720: E/AndroidRuntime(7640): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
07-20 18:20:13.720: E/AndroidRuntime(7640): at dalvik.system.NativeStart.main(Native Method)