Insur_Adapter.java
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
v = inflater.inflate(R.layout.insur_consul_list, parent, false);
ImageView imagep = (ImageView) v.findViewById(R.id.image_per);
ImageView imagec = (ImageView) v.findViewById(R.id.image_comp);
TextView textn = (TextView) v.findViewById(R.id.text_name);
imagep.setImageResource(arrData.get(position).getImage_per());
imagec.setImageResource(arrData.get(position).getImage_comp());
textn.setText(arrData.get(position).getText_name());
ImageButton call = (ImageButton) v.findViewById(R.id.consul_call);
call.setTag(position);
call.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
int position = Integer.parseInt((v.getTag().toString()));
Insur_Data p = arrData.get(position);
if (p != null) {
Intent i = new Intent(Intent.ACTION_DIAL, Uri
.parse("tel:" + p.getText_call()));
Consul_Adapter.this.context.startActivity(i);
}
}
});
}
return v;
}
위는 Insur_Adapter.java 내용입니다.
아래 Insur_Data.java 에서 String t_call의 전화번호를 받아와서 전화거는 버튼을 만들고 있는데
버튼을 클릭하면 오류로 꺼져버립니다. ㅡㅜ
벌써 몇일째 해결방법을 찾고 있는데...
logcat 내용을 보니 29번줄이 문제라고 하는데 어디가 잘못 된건지 고수님들의 도움을 부탁드립니다.ㅡㅜ
Insur_Data.java 입니다.
public class Insur_Data {
private int image_per;
private int image_comp;
private String text_name;
private String text_call;
private String text_mail;
public Insur_Data(int i_per, int i_comp, String t_name, String t_call, String t_mail) {
this.image_per = i_per;
this.image_comp = i_comp;
this.text_name = t_name;
this.text_call = t_call;
this.text_mail = t_mail;
}
public int getImage_per() {
return image_per;
}
public int getImage_comp() {
return image_comp;
}
public String getText_name() {
return text_name;
}
public String getText_call() {
return text_call;
}
public String getText_mail() {
return text_mail;
}
}
리스트뷰의 데이터는 아래에 저장되어 있습니다.
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.insur_consul);
// 리스트에 보여줄 데이터를 세팅한다.
setData();
// 어댑터 생성
adapter = new Consul_Adapter(this, arrData);
// 리스트뷰에 어댑터 연결
list = (ListView) findViewById(R.id.consul_list);
list.setAdapter(adapter);
private void setData() {
arrData = new ArrayList<Insur_Data>();
arrData.add(new Insur_Data(R.drawable.c_01,R.drawable.i_01, "홍길동","0101234567","12@naver.com"));
arrData.add(new Insur_Data(R.drawable.c_02,R.drawable.i_02, "김길동","0101234567","12@nate.com"));
arrData.add(new Insur_Data(R.drawable.c_03,R.drawable.i_03, "이길동","0101234567","12@hanmail.net"));
arrData.add(new Insur_Data(R.drawable.c_04, R.drawable.i_04, null,null,null));
arrData.add(new Insur_Data(R.drawable.c_04, R.drawable.i_04, null,null,null));
arrData.add(new Insur_Data(R.drawable.c_04, R.drawable.i_04, null,null,null));
arrData.add(new Insur_Data(R.drawable.c_04, R.drawable.i_04, null,null,null));
arrData.add(new Insur_Data(R.drawable.c_04, R.drawable.i_04, null,null,null));
}
}