下面列出了android.widget.SimpleAdapter#setViewBinder ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
public void initAdapter() {
items = new ArrayList<Map<String, Object>>();
//实例化一个适配器
adapter = new SimpleAdapter(HCActivity.this, items,
R.layout.hc_list_item,
new String[]{"imageItem", "fileName", "delay", "filePath"},
new int[]{R.id.image_item, R.id.hc_tv_filename, R.id.tv_delay}
);
list.setAdapter(adapter);
adapter.setViewBinder(new ViewBinder() {
@Override
public boolean setViewValue(View p1, Object p2, String p3) {
if (p1 instanceof ImageView && p2 instanceof Bitmap) {
ImageView iv = (ImageView) p1;
iv.setImageBitmap((Bitmap) p2);
return true;
} else
return false;
}
});
}
void FillLists() {
// We use a - sign to tell that this text should be stiked through
SimpleAdapter.ViewBinder vb = new SimpleAdapter.ViewBinder() {
public boolean setViewValue(View view, Object data, String textRepresentation) {
TextView tv = (TextView) view;
tv.setText(textRepresentation.substring(1));
if (textRepresentation.substring(0, 1).equals("-")) {
tv.setPaintFlags(tv.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
}
return true;
}
};
ArrayList<HashMap<String, String>> feedList;
feedList = createAlertsMap(false);
SimpleAdapter simpleAdapterLow = new SimpleAdapter(this, feedList, R.layout.row_alerts, new String[]{"alertName", "alertThreshold", "alertTime", "alertMp3File", "alertOverrideSilenceMode"}, new int[]{R.id.alertName, R.id.alertThreshold, R.id.alertTime, R.id.alertMp3File, R.id.alertOverrideSilent});
simpleAdapterLow.setViewBinder(vb);
listViewLow.setAdapter(simpleAdapterLow);
feedList = createAlertsMap(true);
SimpleAdapter simpleAdapterHigh = new SimpleAdapter(this, feedList, R.layout.row_alerts, new String[]{"alertName", "alertThreshold", "alertTime", "alertMp3File", "alertOverrideSilenceMode"}, new int[]{R.id.alertName, R.id.alertThreshold, R.id.alertTime, R.id.alertMp3File, R.id.alertOverrideSilent});
simpleAdapterHigh.setViewBinder(vb);
listViewHigh.setAdapter(simpleAdapterHigh);
}
void FillLists() {
// We use a - sign to tell that this text should be stiked through
SimpleAdapter.ViewBinder vb = new SimpleAdapter.ViewBinder() {
public boolean setViewValue(View view, Object data, String textRepresentation) {
TextView tv = (TextView) view;
tv.setText(textRepresentation.substring(1));
if (textRepresentation.substring(0, 1).equals("-")) {
tv.setPaintFlags(tv.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
}
return true;
}
};
ArrayList<HashMap<String, String>> feedList;
feedList = createAlertsMap(false);
SimpleAdapter simpleAdapterLow = new SimpleAdapter(this, feedList, R.layout.row_alerts, new String[]{"alertName", "alertThreshold", "alertTime", "alertMp3File", "alertOverrideSilenceMode"}, new int[]{R.id.alertName, R.id.alertThreshold, R.id.alertTime, R.id.alertMp3File, R.id.alertOverrideSilent});
simpleAdapterLow.setViewBinder(vb);
listViewLow.setAdapter(simpleAdapterLow);
feedList = createAlertsMap(true);
SimpleAdapter simpleAdapterHigh = new SimpleAdapter(this, feedList, R.layout.row_alerts, new String[]{"alertName", "alertThreshold", "alertTime", "alertMp3File", "alertOverrideSilenceMode"}, new int[]{R.id.alertName, R.id.alertThreshold, R.id.alertTime, R.id.alertMp3File, R.id.alertOverrideSilent});
simpleAdapterHigh.setViewBinder(vb);
listViewHigh.setAdapter(simpleAdapterHigh);
}
void FillLists() {
// We use a - sign to tell that this text should be stiked through
SimpleAdapter.ViewBinder vb = new SimpleAdapter.ViewBinder() {
public boolean setViewValue(View view, Object data, String textRepresentation) {
TextView tv = (TextView) view;
tv.setText(textRepresentation.substring(1));
if(textRepresentation.substring(0, 1).equals("-")) {
tv.setPaintFlags(tv.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
}
return true;
}
};
ArrayList<HashMap<String, String>> feedList;
feedList = createAlertsMap(false);
SimpleAdapter simpleAdapterLow = new SimpleAdapter(this, feedList, R.layout.row_alerts, new String[]{"alertName", "alertThreshold", "alertTime", "alertMp3File", "alertOverrideSilenceMode"}, new int[]{R.id.alertName, R.id.alertThreshold, R.id.alertTime, R.id.alertMp3File, R.id.alertOverrideSilent});
simpleAdapterLow.setViewBinder(vb);
listViewLow.setAdapter(simpleAdapterLow);
feedList = createAlertsMap(true);
SimpleAdapter simpleAdapterHigh = new SimpleAdapter(this, feedList, R.layout.row_alerts, new String[]{"alertName", "alertThreshold", "alertTime", "alertMp3File", "alertOverrideSilenceMode"}, new int[]{R.id.alertName, R.id.alertThreshold, R.id.alertTime, R.id.alertMp3File, R.id.alertOverrideSilent});
simpleAdapterHigh.setViewBinder(vb);
listViewHigh.setAdapter(simpleAdapterHigh);
}
/**
* Creates ListAdapter populated with offer information.
* @param offers the list of offers used to populate the adapter.
* @return an adapter populated with offer information.
*/
private ListAdapter createOfferListAdapter(final List<Offer> offers) {
List<Map<String, Object>> data = new ArrayList<>();
for (Offer offer : offers) {
Map<String, Object> map = new HashMap<>();
map.put("offerIcon", offer.getImageUrl());
map.put("offerTitle", offer.getTitle());
map.put("offerDetails", offer.getDescription());
data.add(map);
}
SimpleAdapter adapter = new SimpleAdapter(PlaceDetailsActivity.this,
data,
R.layout.offer_item,
new String[]{"offerIcon", "offerTitle", "offerDetails"},
new int[]{R.id.offer_Image, R.id.offer_name,
R.id.offer_description});
adapter.setViewBinder(new ImageUrlViewBinder(R.id.offer_Image));
return adapter;
}
/**
* Creates ListAdapter populated with recommendation information.
* @param recommendations the list of recommendations used to populate
* the adapter.
* @return an adapter populated with recommendation information.
*/
private ListAdapter createRecommendationsListAdapter(
final List<Recommendation> recommendations) {
List<Map<String, Object>> data = new ArrayList<>();
for (Recommendation recommendation : recommendations) {
Map<String, Object> map = new HashMap<>();
map.put("productImage", recommendation.getImageUrl());
map.put("recommendationTitle", recommendation.getTitle());
map.put("recommendationDetails",
recommendation.getDescription());
data.add(map);
}
SimpleAdapter adapter = new SimpleAdapter(PlaceDetailsActivity.this,
data,
R.layout.offer_item,
new String[]{"productImage", "recommendationTitle",
"recommendationDetails"},
new int[]{R.id.offer_Image, R.id.offer_name,
R.id.offer_description});
adapter.setViewBinder(new ImageUrlViewBinder(R.id.offer_Image));
return adapter;
}
/**
* Creates ListAdapter populated with offer information.
*
* @param offers the list of offers used to populate the adapter.
* @return an adapter populated with offer information.
*/
private ListAdapter createOfferListAdapter(List<Offer> offers) {
List<Map<String, Object>> data = new ArrayList<Map<String, Object>>();
for (Offer offer : offers) {
Map<String, Object> map = new HashMap<String, Object>();
map.put("offerIcon", offer.getImageUrl());
map.put("offerTitle", offer.getTitle());
map.put("offerDetails", offer.getDescription());
data.add(map);
}
SimpleAdapter adapter = new SimpleAdapter(PlaceDetailsActivity.this, data,
R.layout.offer_item, new String[] {"offerIcon", "offerTitle", "offerDetails"},
new int[] {R.id.offer_Image, R.id.offer_name, R.id.offer_description});
adapter.setViewBinder(new ImageUrlViewBinder(R.id.offer_Image));
return adapter;
}
/**
* Creates ListAdapter populated with recommendation information.
*
* @param recommendations the list of recommendations used to populate the adapter.
* @return an adapter populated with recommendation information.
*/
private ListAdapter createRecommendationsListAdapter(List<Recommendation> recommendations) {
List<Map<String, Object>> data = new ArrayList<Map<String, Object>>();
for (Recommendation recommendation : recommendations) {
Map<String, Object> map = new HashMap<String, Object>();
map.put("productImage", recommendation.getImageUrl());
map.put("recommendationTitle", recommendation.getTitle());
map.put("recommendationDetails", recommendation.getDescription());
data.add(map);
}
SimpleAdapter adapter = new SimpleAdapter(PlaceDetailsActivity.this, data,
R.layout.offer_item,
new String[] {"productImage", "recommendationTitle", "recommendationDetails"},
new int[] {R.id.offer_Image, R.id.offer_name, R.id.offer_description});
adapter.setViewBinder(new ImageUrlViewBinder(R.id.offer_Image));
return adapter;
}
/**
* Creates ListAdapter populated with offer information.
*
* @param offers the list of offers used to populate the adapter.
* @return an adapter populated with offer information.
*/
private ListAdapter createOfferListAdapter(List<Offer> offers) {
List<Map<String, Object>> data = new ArrayList<Map<String, Object>>();
for (Offer offer : offers) {
Map<String, Object> map = new HashMap<String, Object>();
map.put("offerIcon", offer.getImageUrl());
map.put("offerTitle", offer.getTitle());
map.put("offerDetails", offer.getDescription());
data.add(map);
}
SimpleAdapter adapter = new SimpleAdapter(PlaceDetailsActivity.this, data,
R.layout.offer_item, new String[] {"offerIcon", "offerTitle", "offerDetails"},
new int[] {R.id.offer_Image, R.id.offer_name, R.id.offer_description});
adapter.setViewBinder(new ImageUrlViewBinder(R.id.offer_Image));
return adapter;
}
/**
* Creates ListAdapter populated with recommendation information.
*
* @param recommendations the list of recommendations used to populate the adapter.
* @return an adapter populated with recommendation information.
*/
private ListAdapter createRecommendationsListAdapter(List<Recommendation> recommendations) {
List<Map<String, Object>> data = new ArrayList<Map<String, Object>>();
for (Recommendation recommendation : recommendations) {
Map<String, Object> map = new HashMap<String, Object>();
map.put("productImage", recommendation.getImageUrl());
map.put("recommendationTitle", recommendation.getTitle());
map.put("recommendationDetails", recommendation.getDescription());
data.add(map);
}
SimpleAdapter adapter = new SimpleAdapter(PlaceDetailsActivity.this, data,
R.layout.offer_item,
new String[] {"productImage", "recommendationTitle", "recommendationDetails"},
new int[] {R.id.offer_Image, R.id.offer_name, R.id.offer_description});
adapter.setViewBinder(new ImageUrlViewBinder(R.id.offer_Image));
return adapter;
}
/**
* Creates ListAdapter populated with offer information.
*
* @param offers the list of offers used to populate the adapter.
* @return an adapter populated with offer information.
*/
private ListAdapter createOfferListAdapter(List<Offer> offers) {
List<Map<String, Object>> data = new ArrayList<Map<String, Object>>();
for (Offer offer : offers) {
Map<String, Object> map = new HashMap<String, Object>();
map.put("offerIcon", offer.getImageUrl());
map.put("offerTitle", offer.getTitle());
map.put("offerDetails", offer.getDescription());
data.add(map);
}
SimpleAdapter adapter = new SimpleAdapter(PlaceDetailsActivity.this, data,
R.layout.offer_item, new String[] {"offerIcon", "offerTitle", "offerDetails"},
new int[] {R.id.offer_Image, R.id.offer_name, R.id.offer_description});
adapter.setViewBinder(new ImageUrlViewBinder(R.id.offer_Image));
return adapter;
}
/**
* Creates ListAdapter populated with recommendation information.
*
* @param recommendations the list of recommendations used to populate the adapter.
* @return an adapter populated with recommendation information.
*/
private ListAdapter createRecommendationsListAdapter(List<Recommendation> recommendations) {
List<Map<String, Object>> data = new ArrayList<Map<String, Object>>();
for (Recommendation recommendation : recommendations) {
Map<String, Object> map = new HashMap<String, Object>();
map.put("productImage", recommendation.getImageUrl());
map.put("recommendationTitle", recommendation.getTitle());
map.put("recommendationDetails", recommendation.getDescription());
data.add(map);
}
SimpleAdapter adapter = new SimpleAdapter(PlaceDetailsActivity.this, data,
R.layout.offer_item,
new String[] {"productImage", "recommendationTitle", "recommendationDetails"},
new int[] {R.id.offer_Image, R.id.offer_name, R.id.offer_description});
adapter.setViewBinder(new ImageUrlViewBinder(R.id.offer_Image));
return adapter;
}
public void initAdapter()
{
items = new ArrayList<Map<String,Object>>();
//实例化一个适配器
adapter = new SimpleAdapter(HCActivity.this, items,
R.layout.hc_list_item,
new String[]{"imageItem", "fileName","delay","filePath"},
new int[]{R.id.image_item, R.id.hc_tv_filename,R.id.tv_delay}
);
list.setAdapter(adapter);
adapter.setViewBinder(new ViewBinder(){
@Override
public boolean setViewValue(View p1, Object p2, String p3)
{
if (p1 instanceof ImageView && p2 instanceof Bitmap)
{
ImageView iv = (ImageView) p1;
iv.setImageBitmap((Bitmap) p2);
return true;
}
else
return false;
}
});
}
@Override
public void onResume() {
super.onResume();
StatService.onResume(this);
if(!TextUtils.isEmpty(pathImage)){
try {
imageItem.ensureCapacity(imageItem.size()+1);
Bitmap addbmp= ImageUtil.revitionImageSize(pathImage);
byte[] bytes = CommentUtil.Bitmap2Bytes(addbmp);
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("itemImage", addbmp);
imageItem.add(gridviewClickItemPosition, map);
//addPhowoWall
addPhotoWall(gridviewClickItemPosition,bytes);
simpleAdapter = new SimpleAdapter(getActivity(), imageItem, R.layout.griditem_addpic, new String[] { "itemImage"}, new int[] { R.id.imageView1});
simpleAdapter.setViewBinder(new SimpleAdapter.ViewBinder() {
@Override
public boolean setViewValue(View view, Object data,
String textRepresentation) {
// TODO Auto-generated method stub
if(view instanceof ImageView && data instanceof Bitmap){
ImageView i = (ImageView)view;
i.setImageBitmap((Bitmap) data);
return true;
}
return false;
}
});
gridView1.setAdapter(simpleAdapter);
simpleAdapter.notifyDataSetChanged();
//刷新后释放防止手机休眠后自动添加
pathImage = null;
}catch (IOException e){
e.printStackTrace();
}
}
}
@Override
protected void onResume() {
super.onResume();
StatService.onResume(this);//统计activity页面
if(!TextUtils.isEmpty(pathImage)){
imageItem.ensureCapacity(imageItem.size()+1);
Bitmap addbmp=BitmapFactory.decodeFile(pathImage);
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("itemImage", addbmp);
imageItem.add(gridviewClickItemPosition, map);
simpleAdapter = new SimpleAdapter(this, imageItem, R.layout.griditem_addpic, new String[] { "itemImage"}, new int[] { R.id.imageView1});
simpleAdapter.setViewBinder(new SimpleAdapter.ViewBinder() {
@Override
public boolean setViewValue(View view, Object data,
String textRepresentation) {
// TODO Auto-generated method stub
if(view instanceof ImageView && data instanceof Bitmap){
ImageView i = (ImageView)view;
i.setImageBitmap((Bitmap) data);
return true;
}
return false;
}
});
gridView1.setAdapter(simpleAdapter);
simpleAdapter.notifyDataSetChanged();
//刷新后释放防止手机休眠后自动添加
pathImage = null;
}
}
@Override
protected void onResume() {
super.onResume();
StatService.onResume(this);//统计activity页面
if(!TextUtils.isEmpty(pathImage)){
//Toast.makeText(this,pathImage,Toast.LENGTH_LONG).show();
Log.d("onResume", "in onResume pathImage = " + pathImage);
imageItem.ensureCapacity(imageItem.size()+1);
Bitmap addbmp=BitmapFactory.decodeFile(pathImage);
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("itemImage", addbmp);
imageItem.add(gridviewClickItemPosition,map);
simpleAdapter = new SimpleAdapter(this,
imageItem, R.layout.griditem_addpic,
new String[] { "itemImage"}, new int[] { R.id.imageView1});
simpleAdapter.setViewBinder(new SimpleAdapter.ViewBinder() {
@Override
public boolean setViewValue(View view, Object data,
String textRepresentation) {
// TODO Auto-generated method stub
if(view instanceof ImageView && data instanceof Bitmap){
ImageView i = (ImageView)view;
i.setImageBitmap((Bitmap) data);
return true;
}
return false;
}
});
gridView1.setAdapter(simpleAdapter);
simpleAdapter.notifyDataSetChanged();
//刷新后释放防止手机休眠后自动添加
pathImage = null;
}
}
private void refreshJoinedList(){
joined = ContactUtil.getMergedContacts(getActivity(), rawID);
String[] from = new String[] {"name", "icon"};
int[] to = new int[] {R.id.label, R.id.icon};
SimpleAdapter adapter = new SimpleAdapter(getActivity(), joined, R.layout.list_row, from, to);
adapter.setViewBinder(mViewBinder);
listView.setAdapter(adapter);
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
prefsWrapper = new PreferencesWrapper(getActivity());
useCodecsPerSpeed = SipConfigManager.getPreferenceBooleanValue(getActivity(), SipConfigManager.CODECS_PER_BANDWIDTH);
initDatas();
setHasOptionsMenu(true);
// Adapter
mAdapter = new SimpleAdapter(getActivity(), codecsList, R.layout.codecs_list_item, new String[] {
CODEC_NAME,
CODEC_NAME,
CODEC_PRIORITY
}, new int[] {
R.id.line1,
R.id.AccCheckBoxActive,
R.id.entiere_line
});
mAdapter.setViewBinder(new ViewBinder() {
@Override
public boolean setViewValue(View view, Object data, String textRepresentation) {
if (view.getId() == R.id.entiere_line) {
Log.d(THIS_FILE, "Entiere line is binded ");
TextView tv = (TextView) view.findViewById(R.id.line1);
ImageView grabber = (ImageView) view.findViewById(R.id.icon);
CompoundButton checker = (CompoundButton) view.findViewById(R.id.AccCheckBoxActive);
checker.setOnCheckedChangeListener(CodecsFragment.this);
if ((Short) data == 0) {
tv.setTextColor(Color.GRAY);
grabber.setVisibility(View.GONE);
checker.setChecked(false);
} else {
tv.setTextColor(Color.WHITE);
grabber.setVisibility(View.VISIBLE);
checker.setChecked(true);
}
return true;
}else if(view.getId() == R.id.AccCheckBoxActive) {
view.setTag(data);
return true;
}
return false;
}
});
setListAdapter(mAdapter);
registerForContextMenu(getListView());
}
private boolean refreshAppListView() {
// Get installed packages
ArrayList<HashMap<String, Object>> appList = new ArrayList<HashMap<String, Object>>();
if (sPkgInfoList == null) {
sPkgInfoList = mPkgMgr.getInstalledPackages(0);
}
for (PackageInfo pkg : sPkgInfoList) {
// Skip Ourself
if (pkg.packageName.equalsIgnoreCase(getPackageName()))
continue;
// Skip Android packages
if (mCheckBoxHideAndroid.isChecked()) {
if (pkg.packageName.contains(PKG_PREFIX_ANDROID))
continue;
}
// Skip Google packages
if (mCheckBoxHideGoogle.isChecked()) {
if (pkg.packageName.contains(PKG_PREFIX_GOOGLE))
continue;
}
HashMap<String, Object> mapApp = new HashMap<String, Object>();
mapApp.put(APP_PKG, pkg.packageName);
mapApp.put(APP_NAME, pkg.applicationInfo.loadLabel(mPkgMgr));
mapApp.put(APP_ICON, pkg.applicationInfo.loadIcon(mPkgMgr));
appList.add(mapApp);
}
// Bind ListView with content adapter
SimpleAdapter appAdapter = new SimpleAdapter(this, appList, R.layout.app_list_item,
new String[] {
APP_NAME, APP_PKG, APP_ICON
},
new int[] {
R.id.appName, R.id.appPackage, R.id.appIcon
});
appAdapter.setViewBinder(new ViewBinder() {
public boolean setViewValue(View view, Object data, String textRepresentation) {
if (view instanceof ImageView && data instanceof Drawable) {
ImageView iv = (ImageView) view;
iv.setImageDrawable((Drawable) data);
return true;
}
else
return false;
}
});
mListView.setAdapter(appAdapter);
return true;
}