package com.geniuseoe2012.demo;
import java.util.ArrayList;
import java.util.List;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.CheckBox;
import android.widget.PopupWindow;
import android.widget.TextView;
import android.widget.Toast;
public class SingleChoicAdapter<T> extends BaseAdapter implements
OnItemClickListener {
private Context mContext;
private List<T> mObjects = new ArrayList<T>();
private int mCheckBoxResourceID = 0;
private int mSelectItem = 0;
private LayoutInflater mInflater;
private PopupWindow mpPopupWindow;
public SingleChoicAdapter(Context context, int checkBoxResourceId) {
init(context, checkBoxResourceId);
}
public SingleChoicAdapter(Context context, List<T> objects,
int checkBoxResourceId, PopupWindow mPopupWindow) {
init(context, checkBoxResourceId);
if (objects != null) {
mObjects = objects;
}
this.mpPopupWindow = mPopupWindow;
}
private void init(Context context, int checkBoResourceId) {
mContext = context;
mInflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
mCheckBoxResourceID = checkBoResourceId;
}
public void refreshData(List<T> objects) {
if (objects != null) {
mObjects = objects;
setSelectItem(0);
}
}
public void setSelectItem(int selectItem) {
if (selectItem >= 0 && selectItem < mObjects.size()) {
mSelectItem = selectItem;
notifyDataSetChanged();
}
}
public int getSelectItem() {
return mSelectItem;
}
public void clear() {
mObjects.clear();
notifyDataSetChanged();
}
@Override
public int getCount() {
return mObjects.size();
}
@Override
public T getItem(int position) {
return mObjects.get(position);
}
public int getPosition(T item) {
return mObjects.indexOf(item);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder viewHolder;
if (convertView == null) {
convertView = mInflater.inflate(R.layout.choice_list_item_layout,
null);
viewHolder = new ViewHolder();
viewHolder.mTextView = (TextView) convertView
.findViewById(R.id.textView);
viewHolder.mCheckBox = (CheckBox) convertView
.findViewById(R.id.checkBox);
convertView.setTag(viewHolder);
if (mCheckBoxResourceID != 0) {
viewHolder.mCheckBox.setButtonDrawable(mCheckBoxResourceID);
}
} else {
viewHolder = (ViewHolder) convertView.getTag();
}
viewHolder.mCheckBox.setChecked(mSelectItem == position);
T item = getItem(position);
if (item instanceof CharSequence) {
viewHolder.mTextView.setText((CharSequence) item);
} else {
viewHolder.mTextView.setText(item.toString());
}
return convertView;
}
public static class ViewHolder {
public TextView mTextView;
public CheckBox mCheckBox;
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
Toast.makeText(mContext, "点击了第" + position + "项", Toast.LENGTH_SHORT)
.show();
if (position != mSelectItem) {
mSelectItem = position;
notifyDataSetChanged();
}
mpPopupWindow.dismiss();
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
android popupwindow 单选、复选对话框
共91个文件
png:39个
class:16个
xml:11个
5星 · 超过95%的资源 需积分: 50 34 下载量 63 浏览量
2015-11-17
13:49:26
上传
评论
收藏 248KB RAR 举报
温馨提示
android popupwindow 单选、复选对话框,支持不同适配器
资源推荐
资源详情
资源评论
收起资源包目录
CustomDialogDemo.rar (91个子文件)
CustomDialogDemo
.project 868B
project.properties 361B
proguard.cfg 1KB
src
com
geniuseoe2012
demo
MultiChoicAdapter.java 3KB
CustomDialogActivity.java 2KB
SingleChoicAdapter.java 3KB
Utils.java 1KB
popwindow
SingleChoicePopWindow.java 3KB
MultiChoicePopWindow.java 3KB
AndroidManifest.xml 739B
res
drawable-ldpi
ic_launcher.png 2KB
Thumbs.db 7KB
drawable-hdpi
pop_listview_diver.png 3KB
ic_launcher.png 4KB
checkbox2_unselect.png 4KB
popview_bg.png 3KB
checkbox1_selected.png 4KB
checkbox1_unselect.png 3KB
checkbox2_selected.png 4KB
btn_press.9.png 2KB
logo.jpg 4KB
Thumbs.db 53KB
btn_nor.9.png 2KB
p2op_listview_bg.9.png 2KB
pop_listview_bg.9.png 2KB
drawable
selector_checkbox1.xml 427B
selector_checkbox2.xml 426B
selector_white_btn.xml 453B
drawable-mdpi
ic_launcher.png 3KB
Thumbs.db 7KB
layout
popwindow_listview_layout.xml 723B
single_choice_list_item_layout.xml 827B
choice_list_item_layout.xml 835B
main.xml 662B
drawable-xhdpi
values
style.xml 414B
strings.xml 199B
.settings
org.eclipse.jdt.core.prefs 177B
assets
gen
com
geniuseoe2012
demo
BuildConfig.java 164B
R.java 2KB
.classpath 475B
bin
resources.ap_ 33KB
CustomDialogActivity.apk 46KB
classes
com
geniuseoe2012
demo
R$layout.class 556B
R$style.class 412B
BuildConfig.class 353B
R$drawable.class 960B
MultiChoicAdapter$ViewHolder.class 530B
R$attr.class 352B
SingleChoicAdapter.class 5KB
MultiChoicAdapter.class 5KB
CustomDialogActivity.class 3KB
R$id.class 556B
Utils.class 2KB
R.class 611B
R$string.class 439B
SingleChoicAdapter$ViewHolder.class 534B
popwindow
SingleChoicePopWindow.class 4KB
MultiChoicePopWindow.class 4KB
AndroidManifest.xml 739B
dexedLibs
annotations-c0333a821cfc8cbf6007899f1a9004a3.jar 910B
annotations-28e0d440ffae02fd40b6eb8dc327994c.jar 943B
annotations-aaf5d8ceecc13a44ab079f5a691f5bc2.jar 943B
jarlist.cache 120B
res
drawable-ldpi
ic_launcher.png 2KB
drawable-hdpi
pop_listview_diver.png 110B
ic_launcher.png 4KB
checkbox2_unselect.png 1KB
popview_bg.png 463B
checkbox1_selected.png 1KB
checkbox1_unselect.png 131B
checkbox2_selected.png 2KB
btn_press.9.png 2KB
btn_nor.9.png 2KB
p2op_listview_bg.9.png 2KB
pop_listview_bg.9.png 2KB
drawable-mdpi
ic_launcher.png 2KB
crunch
drawable-ldpi
ic_launcher.png 2KB
drawable-hdpi
pop_listview_diver.png 110B
ic_launcher.png 4KB
checkbox2_unselect.png 1KB
popview_bg.png 463B
checkbox1_selected.png 1KB
checkbox1_unselect.png 131B
checkbox2_selected.png 2KB
btn_press.9.png 2KB
btn_nor.9.png 2KB
p2op_listview_bg.9.png 2KB
pop_listview_bg.9.png 2KB
drawable-mdpi
ic_launcher.png 2KB
classes.dex 18KB
javaapk.com-PopWindowFactoryDemo.apk 43KB
共 91 条
- 1
资源评论
- 小圈092020-09-05感谢分享,下载试试清澈@Cherry2020-09-16谢谢
- tanjian0072016-12-15一般般,分太贵了清澈@Cherry2016-12-30呵呵,下次如果没分的话,告诉我,直接发你邮箱
清澈@Cherry
- 粉丝: 255
- 资源: 25
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功