안녕하세요 ListView와 AutoComplete를 이용해

전화번호부를 만들고 싶은데요 ListView와 AutoComplete의 한줄이 겹쳐 자꾸 출력이 안되네요 ㅠㅠ

도와주세요!!

 

소스코드입니다.

 

package com.Gjcam;

import java.util.ArrayList;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

public class Phone extends Activity {

 private AutoCompleteTextView autoComplete;
 private ArrayList<MyItem> arItem;
 private ArrayAdapter<MyItem> MyAdapter;

 /** Called when the activity is first created. */

 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.phone);
  autoComplete = (AutoCompleteTextView) findViewById(R.id.autoComplete);

  // 데이터를 만듬(ac220v)
  arItem = new ArrayList<MyItem>();
  MyItem mi;
  mi = new MyItem(R.drawable.icon, "경영평가실", "054-770-2843");
  arItem.add(mi);
  mi = new MyItem(R.drawable.icon, "경영평가실", "054-770-2884");
  arItem.add(mi);
  mi = new MyItem(R.drawable.icon, "산업경영대학원", "054-746-9913");
  arItem.add(mi);
  mi = new MyItem(R.drawable.icon, "산업경영대학원", "054-746-9933");
  arItem.add(mi);
  mi = new MyItem(R.drawable.icon, "산업경영대학원", "054-748-1849");
  arItem.add(mi);
  mi = new MyItem(R.drawable.icon, "산업경영대학원", "054-772-5134");
  arItem.add(mi);
  mi = new MyItem(R.drawable.icon, "산업경영대학원", "054-772-4041");
  arItem.add(mi);
  mi = new MyItem(R.drawable.icon, "산업경영대학원", "054-745-8484");
  arItem.add(mi);
  mi = new MyItem(R.drawable.icon, "천마총(매표소)", "054-743-1925");
  arItem.add(mi);
  mi = new MyItem(R.drawable.icon, "무열왕릉(매표소)", "054-772-4531");
  arItem.add(mi);
  mi = new MyItem(R.drawable.icon, "신라오릉(매표소)", "054-772-6903");
  arItem.add(mi);
  mi = new MyItem(R.drawable.icon, "문화재과(1)", "054-779-6061");
  arItem.add(mi);
  mi = new MyItem(R.drawable.icon, "문화재과(2)", "054-779-6063");
  arItem.add(mi);

 

//////////////////////////겹치는것 같다고 생각되는 부분//////////////////////////////////////

 

  // 어댑터를 만듬
  MyListAdapter MyAdapter1 = new MyListAdapter(this, R.layout.call,
    arItem);
  ListView MyList;
  MyList = (ListView) findViewById(R.id.phonelist);
  // 어댑터와 데이터를 연결해서 원하는 리스트뷰에 뿌리게됨
  MyList.setAdapter(MyAdapter1);

  ArrayAdapter<MyItem> MyAdapter = new ArrayAdapter<MyItem>(this,
    android.R.layout.simple_dropdown_item_1line, arItem);
  autoComplete.setAdapter(MyAdapter);
 }

 

////////////////////////////////////////////////////////////////////////////////////////////////////////////////

 

 // 리스트 뷰에 출력할 항목

 class MyItem {
  MyItem(int aIcon, String aName, String aCall) {
   Name = aName;// 이름
   Call = aCall;// 전화번호
  }

  String Call; // 전화번호
  String Name; // 이름
 }

 // 어댑터를 커스터마이징 해야됨
 class MyListAdapter extends BaseAdapter {
  Context maincon;
  LayoutInflater Inflater;
  ArrayList<MyItem> arSrc;

  int layout;

  // 생성자
  public MyListAdapter(Context context, int alayout,
    ArrayList<MyItem> aarSrc) {
   maincon = context;
   // 생성시 인플레이트 준비를 미리해둠
   Inflater = (LayoutInflater) context
     .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
   arSrc = aarSrc;
   layout = alayout;// alayout은 메인에서보면 R.layout.icontext임 int타입이여서
        // 이런식으로도 가능
  }

  // 추상메소드를 구현해야됨
  @Override
  public int getCount() {// getCount는 데이터의 사이즈를 리턴하면됨
   // TODO Auto-generated method stub
   return arSrc.size();
  }

  @Override
  public Object getItem(int position) {
   // TODO Auto-generated method stub
   return arSrc.get(position).Name;// getItem은 그 position의 값을 리턴하면됨
  }

  // ////////
  public Object getItem2(int position) {
   return arSrc.get(position).Call;
  }

  // ////////////

  @Override
  public long getItemId(int position) {// getItemId는 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;
   // 첫번째는 convertView가 null이여서 inflate를 통해서
   // 마지막인자는 Whether the inflated hierarchy should be attached to the
   // root parameter?
   // 해석 못했음
   if (convertView == null) {// layout은 R.layout.icontext parent는 뷰그룹인
          // 리스트뷰를 뜻함
    convertView = Inflater.inflate(layout, parent, false);
   }
   // 이미지뷰를 세팅하고

   // 텍스브튜도 세팅a
   TextView txt = (TextView) convertView.findViewById(R.id.text);
   txt.setText(arSrc.get(position).Name);

   // 버튼도 세팅함
   Button btn = (Button) convertView.findViewById(R.id.btn);// 전화걸기
   btn.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
     // TODO Auto-generated method stub
     String str = arSrc.get(pos).Name + "에게 전화를 겁니다.";
     String p = arSrc.get(pos).Call;
     Toast.makeText(maincon, str, Toast.LENGTH_SHORT).show();
     // 전화거는 부분
     Intent intent = new Intent(Intent.ACTION_CALL);
     intent.setData(Uri.parse("tel:" + p));
     startActivity(intent);
    }
   });
   return convertView;// 위 과정이 리스트뷰에 getCount만큼 반복됨
  }
 }
}

 

 

소스코드입니다.