1
[I는 안드로이드의 새로운 오전, 메신저 연락처로 작업 ,,, 내가 텍스트로 검색을 완료하고 있지만 안드로이드에서 숫자 형식으로 검색하려면] [1]안드로이드
공용 클래스 ContactFragment 경우에만 이전 대답은 번호와 텍스트에 대한 일반적인 .Otherwise 다음 android:inputType="number"
을 줄 번호를 입력하려면 조각이 View.OnClickListener {
RequestQueue requestQueue;
public static final int MY_PERMISSIONS_REQUEST_READ_CONTACTS = 100;
private ArrayList<SelectUser> selectUsers;
private List<SelectUser> temp;
private ListView listView;
Cursor phones, email;
// Pop up
ContentResolver resolver;
private EditText search;
private ContactAdapter adapter;
private View myview;
int count=0;
private ArrayList<String>server_PhoneNum;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
myview = inflater.inflate(R.layout.contactslayout, container, false);
requestQueue= Volley.newRequestQueue(getActivity());
server_PhoneNum = new ArrayList<>();
search = (EditText) myview.findViewById(R.id.editMobileNo);
selectUsers = new ArrayList<SelectUser>();
resolver = getActivity().getContentResolver();
listView = (ListView) myview.findViewById(R.id.contacts_list);
// Read and show the contacts
showContacts();
search.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
adapter.filter(s.toString());
}
@Override
public void afterTextChanged(Editable s) {
}
});
return myview;
}
private void showContacts() {
// Check the SDK version and whether the permission is already granted or not.
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && getActivity().checkSelfPermission(Manifest.permission.READ_CONTACTS) != PackageManager.PERMISSION_GRANTED) {
requestPermissions(new String[]{Manifest.permission.READ_CONTACTS}, MY_PERMISSIONS_REQUEST_READ_CONTACTS);
//After this point you wait for callback in onRequestPermissionsResult(int, String[], int[]) overriden method
} else {
// Android version is lesser than 6.0 or the permission is already granted.
List<SelectUser> contacts = getContactNames();
adapter=new ContactAdapter(contacts,getActivity());
listView.setAdapter(adapter);
}
}
private List<SelectUser> getContactNames() {
List<SelectUser> contacts = new ArrayList<>();
// Get the ContentResolver
ContentResolver cr =getActivity().getContentResolver();
// Get the Cursor of all the contacts
Cursor cursor = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null, null, ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME + " ASC");
// Move the cursor to first. Also check whether the cursor is empty or not.
if (cursor.moveToFirst()) {
// Iterate through the cursor
do {
// Get the contacts name
String name = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
String phone_number=cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
String Image=cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.PHOTO_THUMBNAIL_URI));
SelectUser user=new SelectUser();
user.setName(name);
user.setPhone(phone_number);
user.setThumb(Image);
contacts.add(user);
} while (cursor.moveToNext());
}
// Close the curosor
cursor.close();
return contacts;
}
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions,
int[] grantResults) {
if (requestCode == MY_PERMISSIONS_REQUEST_READ_CONTACTS) {
if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// Permission is granted
showContacts();
} else {
Toast.makeText(getActivity(), "Until you grant the permission, we canot display the names", Toast.LENGTH_SHORT).show();
}
}
}
@Override
public void onClick(View v) {
}
}
죄송합니다. 연락처로 찾기 –
목록보기에 일부 연락처가 있습니다. 검색을 완료했습니다. 이름으로 검색을 원합니다. 숫자로 검색합니다. –