- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
ChatFirstTab.java
public class ChatFirstTab extends Fragment{
ExpandableListAdapter listAdapter;
ExpandableListView expListView;
List<String> listDataHeader;
HashMap<String, List<String>> listDataChild;
String name, photo;
@Override
public View onCreateView(final LayoutInflater inflater, final ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.chat_first, container, false);
expListView = (ExpandableListView) rootView.findViewById(R.id.expandableListView1);
prepareListData();
listAdapter = new ExpandableListAdapter(getActivity(), listDataHeader, listDataChild);
expListView.setAdapter(listAdapter);
return rootView;
}
private void prepareListData() {
listDataHeader = new ArrayList<String>();
listDataChild = new HashMap<String, List<String>>();
Cursor cursor = getActivity().getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
null, null, null, null);
int count = cursor.getCount();
while(cursor.moveToNext()) {
name = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
Log.d("name : ", name);
listDataHeader.add(name);
}
cursor.close();
// Adding child data
List<String> request = new ArrayList<String>();
request.add("Send Request");
int i;
for(i=0; i<count; i++)
{
listDataChild.put(listDataHeader.get(i), request); // Header, Child data
}
}
}
ExpandableListAdapter.java
public class ExpandableListAdapter extends BaseExpandableListAdapter {
private Context _context;
private List<String> _listDataHeader; // header titles
// child data in format of header title, child title
private HashMap<String, List<String>> _listDataChild;
public ExpandableListAdapter(Context context, List<String> listDataHeader,
HashMap<String, List<String>> listChildData) {
this._context = context;
this._listDataHeader = listDataHeader;
this._listDataChild = listChildData;
}
@Override
public Object getChild(int groupPosition, int childPosititon) {
return this._listDataChild.get(this._listDataHeader.get(groupPosition))
.get(childPosititon);
}
@Override
public long getChildId(int groupPosition, int childPosition) {
return childPosition;
}
@Override
public View getChildView(int groupPosition, final int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
final String childText = (String) getChild(groupPosition, childPosition);
if (convertView == null) {
LayoutInflater infalInflater = (LayoutInflater) this._context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = infalInflater.inflate(R.layout.chat_first_list_items, null);
}
TextView txtListChild = (TextView) convertView.findViewById(R.id.textView1);
txtListChild.setText(childText);
return convertView;
}
@Override
public int getChildrenCount(int groupPosition) {
return this._listDataChild.get(this._listDataHeader.get(groupPosition))
.size();
}
@Override
public Object getGroup(int groupPosition) {
return this._listDataHeader.get(groupPosition);
}
@Override
public int getGroupCount() {
return this._listDataHeader.size();
}
@Override
public long getGroupId(int groupPosition) {
return groupPosition;
}
@Override
public View getGroupView(int groupPosition, boolean isExpanded,
View convertView, ViewGroup parent) {
String headerTitle = (String) getGroup(groupPosition);
if (convertView == null) {
LayoutInflater infalInflater = (LayoutInflater) this._context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = infalInflater.inflate(R.layout.chat_first_list_group, null);
}
TextView lblListHeader = (TextView) convertView.findViewById(R.id.textView1);
lblListHeader.setText(headerTitle);
return convertView;
}
@Override
public boolean hasStableIds() {
return false;
}
@Override
public boolean isChildSelectable(int groupPosition, int childPosition) {
return true;
}
}
我的问题是,我想显示特定人员的联系人图片。现在,联系人姓名 显示正确。我希望联系人图片也显示在姓名旁边。
我尝试了很多方法,但没有任何帮助。有什么方法吗?
最佳答案
您可以使用以下代码获取联系人姓名和图像。
private String getContact(String ph)
{
String contactName = null;
try{
Uri uri = Uri.withAppendedPath(
PhoneLookup.CONTENT_FILTER_URI,
Uri.encode(ph));
ContentResolver cr=getActivity().getContentResolver();
Cursor cursor1 = cr.query(uri, new String[]{PhoneLookup.DISPLAY_NAME,PhoneLookup.PHOTO_URI}, null, null, null);
if (cursor1 == null) {
return "";
}
if(cursor1.moveToFirst()) {
contactName = cursor1.getString(cursor1.getColumnIndex(PhoneLookup.DISPLAY_NAME));
image_uri=cursor1.getString(cursor1.getColumnIndex(PhoneLookup.PHOTO_URI));
cursor1.close();
}
}
catch (Exception e) {
// TODO: handle exception
}
return contactName;
}
为了显示列表中的图像,我使用了 UniversalImageLoader
。
ImageLoader imageLoader = null;
imageLoader =ImageLoader.getInstance();
if(image_uri!=null)
{
options = new DisplayImageOptions.Builder()
.showImageOnFail(R.drawable.profile)
.showImageForEmptyUri(R.drawable.profile)
.showImageOnLoading(R.drawable.profile)
.cacheInMemory(true)
.cacheOnDisc(true)
.considerExifParams(true)
.imageScaleType(ImageScaleType.EXACTLY_STRETCHED)
.displayer(new RoundedBitmapDisplayer(200)).build();
imageLoader.displayImage(image_uri, img,options);
}
else
{
imageLoader.displayImage("drawable://" +R.drawable.profile, img,options);
}
我的适配器类:
class CustomAdapter extends ArrayAdapter<String>
{
Context context;
ImageLoader imageLoader = null;
public CustomAdapter(Context context)
{
super(context,0);
this.context=context;
sectionIndices=getSectionIndices();
sectionDates=getSectionDates();
imageLoader =ImageLoader.getInstance();
options = new DisplayImageOptions.Builder()
.considerExifParams(true)
.showImageOnFail(R.drawable.profile)
.cacheInMemory(true)
.cacheOnDisc(true)
.considerExifParams(true)
.showImageForEmptyUri(R.drawable.profile)
.showImageOnLoading(R.drawable.profile)
.imageScaleType(ImageScaleType.EXACTLY_STRETCHED)
.displayer(new RoundedBitmapDisplayer(200)).build();
}
@Override
public int getCount() {
int size=0;
try
{
size=db1.size();
}
catch(NullPointerException e)
{
}
return size;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
LayoutInflater inflater= LayoutInflater.from(context);
if(convertView==null)
{
convertView=inflater.inflate(R.layout.main_log_screen, null);
}
final TextView tv= (TextView)convertView.findViewById(R.id.textView1);
TextView tv2=(TextView)convertView.findViewById(R.id.textView2);
ImageView pic=(ImageView)convertView.findViewById(R.id.imageView1);
RelativeLayout rel=(RelativeLayout)convertView.findViewById(R.id.relativeLayout1);
String name=getContact(db1.get(position).phone);
if(name!=null)
{
tv.setText(name);
}
else
{
tv.setText(db1.get(position).phone);
}
if(photoUri.get(position)!=null)
{
imageLoader.displayImage(photoUri.get(position), pic,options);
}
else
{
imageLoader.displayImage("drawable://" +R.drawable.profile, pic, options);
}
return convertView;
}
}
关于java - 使用可扩展 ListView 在我的 ImageView 中填充联系人图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31042122/
对于我的应用程序的一部分,我需要在选择该选项时显示所有联系人的列表(带有电话号码)。 这是按下按钮时调用的 Activity : package com.example.prototype01; im
我正在尝试使用 Google Contact API (C#) 将“生日”值添加到 Google Contact。谁能帮我解决这个问题。 我正在使用 Google 数据 API 设置 (1.4.0.2
如何使用 Google Contact API (c#) 在 Google Contact 中创建新的“自定义字段”? 我用过: ExtendedProperty obj_ExtendedProper
我正在 iPhone 应用程序中使用地址簿框架,并且我想获取项目公司名称。我在 AddressBookUI_Framework.pdf 中找不到此信息,有人可以解释一下吗? 问候 AddressBoo
我正在开发一个数据库来管理一家小公司的客户数据。客户是公司和机构(学校等),当然还有人/联系人。会有更多的范围及时添加,但现在我正在寻找关于核心设计本身的任何输入,如果有任何我在这里遗漏的东西可能会导
我正在使用 Swift Contacts 并尝试确定是否可以将 contacts.phoneNumbers 转换为 NSDictionary?即可以通过以下方式在 contacts.phoneNumb
我想要我的联系人的 ListView。我使用谷歌示例代码。问题是我一遍又一遍地获得相同的联系人: 吉姆 吉姆 吉姆 吉姆 吉姆 安娜 安娜 安娜 安娜 ... 如何获得我的联系人的 DISTINCT
对于我的应用程序,我需要导入 Gmail 地址簿,我可以按照“Gmail Contact API”进行操作。 最近 Gmail 添加了一些不属于 xml 的新字段(即生日、网站等)。 gmail ap
在 NetSuite 中编辑记录时,我有一个按钮需要能够获取所有联系人的名字、姓氏、电子邮件和可能的 Angular 色,以便我可以将其附加到我已经编写的其他代码中。我似乎无法弄清楚如何提取与记录关联
我们需要一种使用 Delphi/Pascal 代码读取(并且可以选择写入).vcf 文件的方法。带有源代码的免费库将是完美的。 最佳答案 AceVCard是delphi 2009的免费开放组件,兼容V
我正在模拟一个电话簿,其中有 ArrayList 。如何覆盖toString()函数为了拥有像这样的东西,我们正在做 System.out.println(phonebook) ? Name: nam
我正在尝试构建一个搜索 XML 表达式以与 Java 中的 Exchange Web 服务一起使用。我试图实现的是我可以通过电子邮件地址搜索所有联系人。我已经浏览了他们的文档,但未能使其正常工作。这是
我有一个项目正在进行,我想自动发送 SMS,并有时间和日期将 SMS 推送给特定的联系人。那么如何以简洁高效的方式从手机中提取联系人呢?基本上我希望用户按下一个按钮,然后应用程序转到联系人列表,然后用
我有一个表格 View ,显示所有联系人都使用 RealmSwift。如何使用谓词按电话号码过滤 Realm 联系人? class Contact: Object { @obj
我正在尝试使用 CNContactVCardSerialization 将联系人保存为 vcf,效果相对较好。我确实发现苹果不包含注释或图像作为 VCF 的一部分。我确实使用了 stackoverfl
我正在读取手机中的所有联系人,如下所示: Cursor cursor = MainApp.get().getContentResolver().query( C
我有具有 list 权限的应用程序 我的 Activity 尝试加载联系人: eDeviceRecordsLoader contactsLoader = new eDeviceRec
我正在尝试编辑组标题和注释, 编辑标题适用于系统组 和用户创建的组, 虽然注释列只有在系统组(例如“联系人”、“ friend ”、“家庭”、“同事”)时才会保留,我假设它不会为用户创建的组保存注释,
在我的应用中,我想将联系人与其他数据相关联。对联系人的引用必须尽可能持久,否则关联的数据将变成垃圾。 首先,我应该使用 ContactsContract.Contact.LOOKUP_KEY 访问聚合
我正在做一个应用程序,因为我显示从设备到 ListView 的所有联系人(姓名、号码、图像)。我想使用工具栏搜索从 ListView 中搜索联系人。我添加了工具栏搜索,但我不知道如何从列表中过滤联系人
我是一名优秀的程序员,十分优秀!