package test.test.test;
import java.util.ArrayList;
import android.app.Activity; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.BaseAdapter; import android.widget.ListView; import android.widget.TextView;
public class ComplexListView extends Activity{
ListView list;
ArrayList <ListViewContactsBook> contacts;
ContactsAdapter adapter;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.complex_listview);
list=(ListView)findViewById(R.id.list);
contacts = new ArrayList<ListViewContactsBook >();
contacts.add(new ListViewContactsBook("박시영","010-1111-1111"));
adapter = new ContactsAdapter(contacts);
list.setAdapter(adapter); }
class ContactsAdapter extends BaseAdapter {
private ArrayList<ListViewContactsBook> object;
public ContactsAdapter(ArrayList<ListViewContactsBook> object){
super();
this.object = object;
}
public int getCount(){
return object.size();
}
public Object getItem(int position){
return null;
}
public long getItemId(int position){
return 0;
}
public View getView(int position, View convertView, ViewGroup parent){
ViewHolder holder;
if(convertView == null){
LayoutInflater inflater = LayoutInflater.from(ComplexListView.this);
convertView = inflater.inflate(R.layout.listview_listrow,parent,false);
holder = new ViewHolder();
holder.txtName = (TextView)convertView.findViewById(R.id.txt_name);
holder.txtName = (TextView)convertView.findViewById(R.id.txt_number);
convertView.setTag(holder);
}
else{
holder = (ViewHolder)convertView.getTag();
}
String name = object.get(position).getName();
String phoneNumber = object.get(position).getPhoneNumber();
holder.txtName.setText(name);
holder.txtNumber.setText(phoneNumber);
return convertView;
}
}
static class ViewHolder {
TextView txtName;
TextView txtNumber;
}
}
안녕하세요.
listview 예제 따라해 보다가, 에뮬로 돌려보면 자꾸 프로그램이 종료되어서 질문드립니다.
일단 xml파일이랑은 잘 연결되었고, 액티비티 쪽에 문제가 생긴 것 같은데 도무지 모르겠어서요.
혹시 아시는 분 있으시면 답변 부탁드립니다.
로그캣 보시고 확인좀 해주세요.
01-08 11:40:49.974: E/AndroidRuntime(538): FATAL EXCEPTION: main
01-08 11:40:49.974: E/AndroidRuntime(538): java.lang.NullPointerException
01-08 11:40:49.974: E/AndroidRuntime(538): at test.test.test.ComplexListView$ContactsAdapter.getView(ComplexListView.java:64)
01-08 11:40:49.974: E/AndroidRuntime(538): at android.widget.AbsListView.obtainView(AbsListView.java:2033)
01-08 11:40:49.974: E/AndroidRuntime(538): at android.widget.ListView.makeAndAddView(ListView.java:1772)
01-08 11:40:49.974: E/AndroidRuntime(538): at android.widget.ListView.fillDown(ListView.java:672)
01-08 11:40:49.974: E/AndroidRuntime(538): at android.widget.ListView.fillFromTop(ListView.java:732)
01-08 11:40:49.974: E/AndroidRuntime(538): at android.widget.ListView.layoutChildren(ListView.java:1625)
01-08 11:40:49.974: E/AndroidRuntime(538): at android.widget.AbsListView.onLayout(AbsListView.java:1863)
01-08 11:40:49.974: E/AndroidRuntime(538): at android.view.View.layout(View.java:11158)
01-08 11:40:49.974: E/AndroidRuntime(538): at android.view.ViewGroup.layout(ViewGroup.java:4197)
01-08 11:40:49.974: E/AndroidRuntime(538): at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1628)
01-08 11:40:49.974: E/AndroidRuntime(538): at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1486)
01-08 11:40:49.974: E/AndroidRuntime(538): at android.widget.LinearLayout.onLayout(LinearLayout.java:1399)
01-08 11:40:49.974: E/AndroidRuntime(538): at android.view.View.layout(View.java:11158)
01-08 11:40:49.974: E/AndroidRuntime(538): at android.view.ViewGroup.layout(ViewGroup.java:4197)
01-08 11:40:49.974: E/AndroidRuntime(538): at android.widget.FrameLayout.onLayout(FrameLayout.java:431)
01-08 11:40:49.974: E/AndroidRuntime(538): at android.view.View.layout(View.java:11158)
01-08 11:40:49.974: E/AndroidRuntime(538): at android.view.ViewGroup.layout(ViewGroup.java:4197)
01-08 11:40:49.974: E/AndroidRuntime(538): at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1628)
01-08 11:40:49.974: E/AndroidRuntime(538): at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1486)
01-08 11:40:49.974: E/AndroidRuntime(538): at android.widget.LinearLayout.onLayout(LinearLayout.java:1399)
01-08 11:40:49.974: E/AndroidRuntime(538): at android.view.View.layout(View.java:11158)
01-08 11:40:49.974: E/AndroidRuntime(538): at android.view.ViewGroup.layout(ViewGroup.java:4197)
01-08 11:40:49.974: E/AndroidRuntime(538): at android.widget.FrameLayout.onLayout(FrameLayout.java:431)
01-08 11:40:49.974: E/AndroidRuntime(538): at android.view.View.layout(View.java:11158)
01-08 11:40:49.974: E/AndroidRuntime(538): at android.view.ViewGroup.layout(ViewGroup.java:4197)
01-08 11:40:49.974: E/AndroidRuntime(538): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1462)
01-08 11:40:49.974: E/AndroidRuntime(538): at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2382)
01-08 11:40:49.974: E/AndroidRuntime(538): at android.os.Handler.dispatchMessage(Handler.java:99)
01-08 11:40:49.974: E/AndroidRuntime(538): at android.os.Looper.loop(Looper.java:137)
01-08 11:40:49.974: E/AndroidRuntime(538): at android.app.ActivityThread.main(ActivityThread.java:4340)
01-08 11:40:49.974: E/AndroidRuntime(538): at java.lang.reflect.Method.invokeNative(Native Method)
01-08 11:40:49.974: E/AndroidRuntime(538): at java.lang.reflect.Method.invoke(Method.java:511)
01-08 11:40:49.974: E/AndroidRuntime(538): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
01-08 11:40:49.974: E/AndroidRuntime(538): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
01-08 11:40:49.974: E/AndroidRuntime(538): at dalvik.system.NativeStart.main(Native Method)




에러 난 부분의 로그를 보면 더 빨리 알 수 있을 것 같은데요
로그를 같이 첨부해주시길;;