ArrayList로 [이름, 주소, 전화번호]를 listview에 출력시켜 이름으로 검색하는 어플을 만들고 있습니다.
그런데 edittext에 쓴 이름으로 검색해서 결과값을 기존 listview에 다시 갱신시켜 출력시키려 하는데
이 과정에서 자꾸 문제가 생기네요... 로그캣을 확인해봐도 무슨말인지 모르겠습니다ㅠ
처음 개발하는 단계라 막막하네요..
public class MainActivity extends Activity
{
ListView list;
ArrayList<MyData> dataArr;
ArrayList<MyData> resultArr;
MyAdapter mAdapter;
ArrayAdapter<String> adapter;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
list = (ListView) findViewById(R.id.listview);
AutoCompleteTextView getname = (AutoCompleteTextView)findViewById(R.id.autoCompleteTextView);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(), R.id.name_tv, android.R.layout.simple_dropdown_item_1line);
getname.setAdapter(adapter);
dataArr = new ArrayList<MyData>();
resultArr = new ArrayList<MyData>();
dataArr.add(new MyData("홍길동","서울","010-1111-1111"));
dataArr.add(new MyData("둘리","인천","010-2222-2222"));
dataArr.add(new MyData("또치","부산","010-3333-3333"));
dataArr.add(new MyData("도우너","대구","010-4444-4444"));
mAdapter = new MyAdapter(this, R.layout.list_item, dataArr);
list.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
list.setAdapter(mAdapter);
}
//...중략
Button searchbtn = (Button)convertView.findViewById(R.id.searchbtn);
searchbtn.setOnClickListener(new Button.OnClickListener()
{
public void onClick(View v)
{
EditText getname = (EditText)findViewById(R.id.inputtext);
ArrayList<MyData> myDataArr = new ArrayList<MyData>();
for(int i = 0; i < myDataArr.size(); i++)
{
MyData getData = myDataArr.get(i);
if(getData.name.indexOf(i) > 0)
{
resultArr.add(getData);
}
}
adapter.notifyDataSetChanged();
}
});