public class MainActivity2 extends Activity {
String tag = "cap";
String [] name, new_name;
int count = 0;
ListView listView;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_list);
Cursor cursor = getURI(); // 전화번호부 가져오기
int end = cursor.getCount(); // 전화번호부의 갯수 세기
name = new String[end]; // 전화번호부의 이름을 저장할 배열 선언
String[] bbStr = cursor.getColumnNames();
for(int i=0; i<bbStr.length;i++)
// 각각의 컬럼 이름 확인
Log.e(tag, "ColumnName " + i + " : " + cursor.getColumnName(i));
if(cursor.moveToFirst()) { //항상 처음에서 시작
do {
if(!cursor.getString(2).startsWith("01")) // 01로 시작하는 핸펀만
continue; // 이멜주소만 있는것은 제외
// 요소값 얻기
name[count] = cursor.getString(1); //이름
name[count] += "\n";
name[count] += cursor.getString(2); //전번
count++;
} while(cursor.moveToNext());
new_name = new String[count]; //이멜주소 제외한 01번호 가져오기
for(int i=0; i<count; i++) new_name[i] = name[i]; //복사
}
cursor.close(); // 반드시 커서 닫고
listView = (ListView) findViewById(R.id.list);
ArrayAdapter<String> adapter =
new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, new_name);
listView.setAdapter(adapter);
listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE); // 반드시 설정해줘야 멀티초이스
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String mes="";
long num[] = listView.getCheckItemIds(); // 현재 체크된 id들의 배열 리턴
if(num.length>5) { // 최대 선택가능 갯수 제한
listView.setItemChecked(position, false); // 강제로 언첵
Toast.makeText(MainActivity2.this,
"5개까지만 선택이 가능합니다.",
Toast.LENGTH_SHORT).show();
return;
}
}