밑에는 소스 입니다.
각각의 버튼 클릭시 전화걸기 다이얼로그를 띠울려고하는데...
밑에 performDial()부분에서 에러가 나네요.!!
그 함수 안에 p.getNumber()에서 버그가 나는데 이유를 잘 모르겠네요.ㅠㅠ
생각해본다고 생각하는데...아직 버그 이유를 찾지를 못해서요.!!
아시는 분 있으면 알려주세요.!!
감사합니다.


package com.ListExample;

import java.util.ArrayList;

import com.ListExample.ListExample;

import android.app.ListActivity;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.TextView;
 
 
public class ListExample extends ListActivity{
// ListActivity를 상속받습니다.
@Override
 
public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.main);
 ArrayList<Person> m_orders = new ArrayList<Person>();
 Person p1 = new Person("안드로이드", "011-123-4567"); // 리스트에 추가할 객체입니다.
 Person p2 = new Person("구글", "02-123-4567"); // 리스트에 추가할 객체입니다.
 m_orders.add(p1); // 리스트에 객체를 추가합니다.
 m_orders.add(p2); // 리스트에 객체를 추가합니다.
 PersonAdapter m_adapter = new PersonAdapter(this, R.layout.row, m_orders); // 어댑터를 생성합니다.
 setListAdapter(m_adapter); // 
 
}
public void performDial() { 
    //if (p != null) { 
     //   try { 
   startActivity(new Intent(Intent.ACTION_CALL, Uri.parse("tel:" 
               + p.getNumber())));
   //  } catch (Exception e) { 
         // e.printStackTrace(); 
        // } 
      //} 
  }                
 public class PersonAdapter extends ArrayAdapter<Person> {
private ArrayList<Person> items;
public PersonAdapter(Context context, int textViewResourceId, ArrayList<Person> items) {
               
super(context, textViewResourceId, items);
               
this.items = items;
       
}
@Override
       
public View getView(int position, View convertView, ViewGroup parent) {
              
View v = convertView;

 

Button mButton_dial = (Button) v.findViewById(R.id.widget39);
mButton_dial.setOnClickListener(new View.OnClickListener() { 
 public void onClick(View v) {
  performDial();
     
          } 
 });
               
if (v == null) {
                   
LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                   
v = vi.inflate(R.layout.row, null);
}
            
                
Person p = items.get(position);
               
if (p != null) {
                       
TextView tt = (TextView) v.findViewById(R.id.toptext);
   
TextView bt = (TextView) v.findViewById(R.id.bottomtext);

 


if (tt != null){
                           
tt.setText(p.getName());                            
                       
}
                       
if(bt != null){
                               
bt.setText("전화번호: "+ p.getNumber());

                       
}
               
}
return v;
 
}

}
class Person {
private String Name;
       
private String Number;
 public Person(String _Name, String _Number){
           
this.Name = _Name;
           
this.Number = _Number;
       
}
public String getName() {
           
return Name;
       
}
public String getNumber() {
 
return Number;
       
}
 }
}