小编Dak*_*ksh的帖子

将联系人图像加载到位图中

我用来从电话号码获取联系人图像缩略图的Uri的功能.:

public static Uri getPhotoURIFromAddress(Context activity, String address) {
    String contactId = getContactIdFromAddress(activity, address);

    ContentResolver contentResolver = activity.getContentResolver();
    try {
        Cursor cursor = contentResolver
                .query(ContactsContract.Data.CONTENT_URI,
                        null,
                        ContactsContract.Data.CONTACT_ID
                                + "="
                                + contactId
                                + " AND "

                                + ContactsContract.Data.MIMETYPE
                                + "='"
                                + ContactsContract.CommonDataKinds.Photo.CONTENT_ITEM_TYPE
                                + "'", null, null);

        if (cursor != null) {
            if (!cursor.moveToFirst()) {
                return null; // no photo
            }
        } else {
            return null; // error in cursor process
        }
        cursor.close();

    } catch (Exception e) {
        e.printStackTrace();
        return null;
    } …
Run Code Online (Sandbox Code Playgroud)

android image bitmap contact

13
推荐指数
1
解决办法
9247
查看次数

Android ListView使用AsyncTask更新图像缩略图导致视图回收

我一直在尝试使用缩略图来处理ListView中的图像文件的AsyncTask.我一直遇到行回收的常见问题,因此滚动缩略图被分配给错误的行.我已经尝试将标签添加到ImageView,然后在AsyncTask中的onPostExecute()中确认标签,但是在我的尝试中却没有成功.有人请帮忙!

自定义适配器如下:

public class MySimpleAdapter extends SimpleAdapter {

        public MySimpleAdapter(Context context,
                List<? extends Map<String, ?>> data, int resource,
                String[] from, int[] to) {
            super(context, data, resource, from, to);
            // TODO Auto-generated constructor stub
        }

        public View getView(int position, View convertView, ViewGroup parent) {
            final View v = super.getView(position, convertView, parent);
            thumbnail = (ImageView) v.findViewById(R.id.thumbnail);
            checker = (CheckBox) v.findViewById(R.id.checkBox);
            filenametext = (TextView) v.findViewById(R.id.text1);
            String pathtoimage = startLocation.concat("/"
                    + filenametext.getText().toString());
            desctext = (TextView) v.findViewById(R.id.text2);
            String temp = desctext.getText().toString();
            if (temp.equals("Directory") == true) …
Run Code Online (Sandbox Code Playgroud)

android listview thumbnails recycle android-asynctask

10
推荐指数
1
解决办法
1万
查看次数

Android:联系人选择的筹码库

在Android上实现Chips UI有什么好的库吗?我一直在阅读消息应用程序的代码,但它似乎无限阅读!:-(

Android开发团队的Roman Nurik建议阅读以下内容:

https://github.com/android/platform_packages_apps_mms/blob/master/src/com/android/mms/ui/RecipientsEditor.java

https://github.com/android/platform_packages_apps_mms/blob/master/src/com/android/mms/ui/ComposeMessageActivity.java

我正在尝试创建一个视图,允许我从联系人DB中选择多个联系人.有没有比编写自己版本的平台代码更简单的方法?

android contacts

9
推荐指数
0
解决办法
2695
查看次数

Android:点击操作后取消通知(如呼叫)

我有一个通过以下方式拨打号码的操作

uri = Uri.parse("tel:" + address);
Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(uri);
PendingIntent pd = PendingIntent.getActivity(context, 0,intent, 
       PendingIntent.FLAG_UPDATE_CURRENT);
notif.addAction(R.drawable.ic_menu_call, "Call", pd);
Run Code Online (Sandbox Code Playgroud)

但问题是我不知道

如何/何时调用 NotificationManager 的manager.cancel()函数

以便在单击调用操作时关闭通知!

notifications android action

5
推荐指数
1
解决办法
3360
查看次数

Android ActionMode动态替换Action Items

我已经通过ActionBarSherlock实现了一个ActionMode(感谢Jake Wharton为ABS!).

无论如何,我mActionMode.invalidate();每次点击ListView项目时都会调用它 ,这也会增加/减少checkedCounter.

然后在public boolean里面onPrepareActionMode(ActionMode mode, android.view.Menu menu),我必须根据checkedCounter的值设置ActionMode内容.

onPrepareActionMode的代码如下:

    public boolean onPrepareActionMode(ActionMode mode,
                android.view.Menu menu) {
            Log.d("ASDASD", "INSIDE ONPREPARE!");
            if (mActionMode == null) {
                MenuInflater inflater = mode.getMenuInflater();
                inflater.inflate(R.menu.contextualmultiple, menu);
                return false;
            }
            if (checkedCount == 0) {
                mActionMode.finish();
            } else if (checkedCount == 1 && mActionMode != null) {
                mActionMode.setTitle(checkedCount + " Message Selected");
                MenuInflater inflater = mode.getMenuInflater();
                inflater.inflate(R.menu.contextualmultiple, menu);
                return true;
            } else if (checkedCount > 1) {
                mActionMode.setTitle(checkedCount + " Messages Selected"); …
Run Code Online (Sandbox Code Playgroud)

android actionbarsherlock android-actionbar

3
推荐指数
1
解决办法
4458
查看次数

有条件链单和可完成

我的 Rx 调用的整体工作流程应如下工作(无论当前的 Rx 代码如何):

  • 从 a 获取运动传感器读数列表Room Dao(目的是将它们上传到 REST API)。我正在Single<List<Reading>>为此使用
  • 如果该readings列表为空,则执行jobFinished()回调并在此之后不执行任何操作
  • 如果readings不为空,则将网络调用链接到 this Single。网络调用返回一个Completable
  • Single从来没有逻辑上抛出一个错误,因为它要么取空或非空readings列表
  • 当整个 Rx 调用链终止时,执行jobFinished()回调
  • 在整个 Rx 调用链成功时,将那些readings 从Dao
  • 在成功Single,但错误的Completable,更新读数Dao

我目前的代码如下:

  Single.create<List<Reading>> {
        readings = readingDao.getNextUploadBatch()

        if (readings.isEmpty()) {
            jobFinished(job, false)
            return@create
        }

        it.onSuccess(readings)
    }
            .flatMapCompletable { api.uploadSensorReadings(it) }
            .doOnTerminate {
                jobFinished(job, !readingDao.isEmpty())
            }
            .subscribeOn(rxSchedulers.network)
            .observeOn(rxSchedulers.database)
            .subscribe(
                    {
                        readingDao.delete(*readings.toTypedArray()) …
Run Code Online (Sandbox Code Playgroud)

parallel-processing multithreading android kotlin rx-java

3
推荐指数
1
解决办法
3402
查看次数