onCreate에서는 되는데 Fragment를 상속받아서하면 오류가 나서요... 왜그런지가..
onCreateView라서 뭘 추가해줘야하는건가요?
메소드를 만들어주라고는 하는데 각 각 이런오류들이 뜨더라고요...
The method setListAdapter(ArrayAdapter<String>) is undefined for the type FriendsActivity
The method managedQuery(Uri, String[], null, String[], String) is undefined for the type FriendsActivity
------------------------------
package com.example.mim;
//import java.util.ArrayList;
import java.util.ArrayList;
import java.util.List;
import android.annotation.SuppressLint;
import android.content.ContentResolver;
import android.content.Context;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.provider.ContactsContract.Contacts;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.WebView.FindListener;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.ListAdapter;
import android.widget.ListView;
@SuppressLint("ValidFragment")
public class FriendsActivity extends Fragment{
String tag = null;
//private ArrayList<String> array_sort = new ArrayList<String>();
Context mContext;
public FriendsActivity(Context context){
mContext = context;
}
@Override
public View onCreateView(LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState){
View view = inflater.inflate(R.layout.activity_friends, null);
Cursor cursor = getURI();
// 전화번호부 가져오기
int end = cursor.getCount();
// 전화번호부의 갯수 세기
Log.d(tag, "end = "+end);
String [] name = new String[end];
// 전화번호부의 이름을 저장할 배열 선언
int count = 0;
if(cursor.moveToFirst()){
// 컬럼명으로 컬럼 인덱스 찾기
int idIndex = cursor.getColumnIndex("_id");
do {
// 요소값 얻기
int id = cursor.getInt(idIndex);
name[count] = cursor.getString(1); // LogCat에 로그 남기기
Log.d(tag, "id=" + id +", name["+count+"]=" + name[count]);
count++;
} while(cursor.moveToNext() || count > end);
}
final ListView listView = (ListView) view.findViewById(R.id.f_list);
setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_multiple_choice, name));
listView.setItemsCanFocus(false);
listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
return view;
}
@SuppressWarnings("deprecation")
private Cursor getURI() {
// 주소록 URI
Uri people = Contacts.CONTENT_URI;
// 검색할 컬럼 정하기
String[] projection = new String[] { Contacts._ID, Contacts.DISPLAY_NAME, Contacts.HAS_PHONE_NUMBER };
// 쿼리 날려서 커서 얻기
String[] selectionArgs = null;
String sortOrder = ContactsContract.Contacts.DISPLAY_NAME + " COLLATE LOCALIZED ASC";
return managedQuery(people, projection, null, selectionArgs, sortOrder);
}
}