1

[我是android的新,IM通過觸點工作,,,我完成了文本搜索,但我想通過搜索Android中號格式] [1]如何通過數字格式ListView中的數據在搜索的Android

公共類ContactFragment擴展片段實現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) { 

} 

}

回答

0

如果你只想輸入號碼,然後給android:inputType="number"。否則你以前的答案是數字和文字共同的。 android:inputType將只允許您要輸入的輸入類型。

+0

對不起,我想搜索通過聯繫電話 –

+0

我有一些聯繫人在ListView我完成搜索按名稱但我想搜索按號碼 –

相關問題