微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SimpleCursorAdapter 中的圆形图像

如何解决SimpleCursorAdapter 中的圆形图像

借助以下代码,我可以获取显示带有照片的联系人列表。 现在,问题是照片以矩形显示,但我需要圆形图像。请根据我的代码帮助我,因为我知道一些使图像循环的方法,就像使用“位图着色器”等。但是说到SimpleCursorAdapter,我是空白的! 提前致谢:)

public class FragmentContacts extends Fragment
implements LoaderManager.LoaderCallbacks<Cursor>{
private ListView lv_ContactList;
private SearchView searchView;
private SimpleCursorAdapter mCursorAdapter;

private static final String disPLAY_NAME = Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB ? 
Contacts.disPLAY_NAME_PRIMARY : Contacts.disPLAY_NAME;

private static final String[] contactsColumns = {    Contacts._ID,Contacts.LOOKUP_KEY,disPLAY_NAME,Contacts.PHOTO_URI    };
private final String contactsFilter = "(" +Contacts.HAS_PHONE_NUMBER+ "='1') AND (" + 
Contacts.IN_VISIBLE_GROUP + "='1')";
private final String contactsSortOrder = disPLAY_NAME + " COLLATE LOCALIZED ASC";

private final static String[] listdisplayColumns = { disPLAY_NAME,Contacts.PHOTO_URI   };
private final static int[] listDataViewIDs = { R.id.contact_name,R.id.imgContact };

String[] mSelectionArgs;

@Override
public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.frag_contacts,null);
    lv_ContactList = (ListView)view.findViewById(R.id.lv_ContactList);
    searchView = (SearchView)view.findViewById( R.id.searchView);
    return view;
}

@Override
public void onResume(){
    super.onResume();

    mCursorAdapter= new SimpleCursorAdapter( getActivity(),R.layout.list_row_contact,null,listdisplayColumns,listDataViewIDs,0);
    lv_ContactList.setAdapter(mCursorAdapter);
    getLoaderManager().initLoader(0,this);
    searchView.setonQueryTextListener( new SearchView.OnQueryTextListener() {
        @Override
        public boolean onQueryTextSubmit( String query ) {return false;}
        @Override
        public boolean onQueryTextChange( String newText ) {
            if( newText.isEmpty() ) mSelectionArgs = null;
            else mSelectionArgs = new String[]{ "%"+newText.trim()+"%"};
            getLoaderManager().restartLoader( 0,FragmentContacts.this );
            return false;
        }
    } );
}

@Override
public Loader<Cursor> onCreateLoader( int id,Bundle args ) {
    if(mSelectionArgs == null)
        return new CursorLoader( getActivity(),Contacts.CONTENT_URI,contactsColumns,contactsFilter,contactsSortOrder );
    else
        return new CursorLoader( getActivity(),contactsFilter 
+ " AND (" + disPLAY_NAME+" LIKE ?)",mSelectionArgs,contactsSortOrder );
}
@Override
public void onLoadFinished( Loader<Cursor> loader,Cursor data ) {
    mCursorAdapter.swapCursor(data);
}
@Override
public void onLoaderReset( Loader<Cursor> loader ) {
    mCursorAdapter.swapCursor(null);
}
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。