我用来从电话号码获取联系人图像缩略图的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) 我一直在尝试使用缩略图来处理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上实现Chips UI有什么好的库吗?我一直在阅读消息应用程序的代码,但它似乎无限阅读!:-(
Android开发团队的Roman Nurik建议阅读以下内容:
我正在尝试创建一个视图,允许我从联系人DB中选择多个联系人.有没有比编写自己版本的平台代码更简单的方法?
我有一个通过以下方式拨打号码的操作
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()函数
以便在单击调用操作时关闭通知!
我已经通过ActionBarSherlock实现了一个ActionMode(感谢Jake Wharton为ABS!).
无论如何,我mActionMode.invalidate();每次点击ListView项目时都会调用它
,这也会增加/减少checkedCounter.
然后在public boolean里面onPrepareActionMode(ActionMode mode, android.view.Menu menu),我必须根据checkedCounter的值设置ActionMode内容.
onPrepareActionMode的代码如下:
Run Code Online (Sandbox Code Playgroud)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"); …
我的 Rx 调用的整体工作流程应如下工作(无论当前的 Rx 代码如何):
Room Dao(目的是将它们上传到 REST API)。我正在Single<List<Reading>>为此使用readings列表为空,则执行jobFinished()回调并在此之后不执行任何操作readings不为空,则将网络调用链接到 this Single。网络调用返回一个CompletableSingle从来没有逻辑上抛出一个错误,因为它要么取空或非空readings列表jobFinished()回调readings 从DaoSingle,但错误的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)