package cn.itcast.db;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import cn.itcast.adapter.PersonAdapter;
import cn.itcast.domain.Person;
import cn.itcast.service.PersonService;
import android.app.Activity;
import android.database.Cursor;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.SimpleCursorAdapter;
import android.widget.Toast;
/**ListViewʵ��ʵ��
* ����SimpleAdapter��SimpleCursorAdapter���Զ���������
*/
public class MainActivity extends Activity {
private ListView listView;
private PersonService personService;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
personService = new PersonService(this);
listView = (ListView) this.findViewById(R.id.listView);
//��Ŀ����¼�
listView.setOnItemClickListener(new ItemClickListener());
show2();
}
private final class ItemClickListener implements OnItemClickListener{
/**����˵��
* ���ڵ�ListView����
* ���ڵ����View����
* �����View��Id
* �Ƚ����õ����Ȳ��˽�
*/
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
ListView lView = (ListView)parent;
/* �Զ���������
Person person = (Person) lView.getItemAtPosition(position);
Toast.makeText(getApplicationContext(), person.getId().toString(), 1).show();*/
//����SimpleCursorAdapter���ص���Cursor���ͣ�SimpleAdapter���ص���Map
Cursor cursor = (Cursor) lView.getItemAtPosition(position); //�õ�ij��λ�õ�Cursor��¼
int personid = cursor.getInt(cursor.getColumnIndex("_id")); //����Cursor��¼��"_id"�е������ó���
Toast.makeText(getApplicationContext(), personid+ "", 1).show();
}
}
//�Զ���������
private void show3() {
List<Person> persons = personService.getScrollData(0, 20);
PersonAdapter adapter = new PersonAdapter(this, persons, R.layout.item);
listView.setAdapter(adapter);
}
//SimpleCursorAdapter������
private void show2() {
Cursor cursor = personService.getCursorScrollData(0, 20);
SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, R.layout.item, cursor,
new String[]{"name", "phone", "amount"}, new int[]{R.id.name, R.id.phone, R.id.amount});
listView.setAdapter(adapter);
}
//SimpleAdapter������
private void show() {
List<Person> persons = personService.getScrollData(0, 20);
//List�е����ͱ���ΪHashMap����
List<HashMap<String, Object>> data = new ArrayList<HashMap<String,Object>>();
for(Person person : persons){
HashMap<String, Object> item = new HashMap<String, Object>();
item.put("name", person.getName());
item.put("phone", person.getPhone());
item.put("amount", person.getAmount());
item.put("id", person.getId());
data.add(item);
}
/**����˵��
* �����Ķ���
* ����Դ��Map�������ͣ�
* ����Դ�е��ֶ�
* ��Ӧ����Ŀ�е�id
*/
SimpleAdapter adapter = new SimpleAdapter(this, data, R.layout.item,
new String[]{"name", "phone", "amount"}, new int[]{R.id.name, R.id.phone, R.id.amount});
listView.setAdapter(adapter);
}
//ArrayAdapter�����������÷�ʽ
adapter = new ArrayAdapter<String>(this, R.layout.listview_item, R.id.textView, data);
}