基于上一篇实现的SimpleListPopupWindow<T>
来源:互联网 发布:中国新歌声网络直播权 编辑:程序博客网 时间:2024/04/25 23:33
这次是个简单的PopupWindow,快速迭代用。
一个简单的Item:item_for_popupwindow_simple.xml
用法:
popupwindow_simple.xml:
import java.util.List;import android.content.Context;import android.view.View;import android.widget.AdapterView;import android.widget.LinearLayout.LayoutParams;import android.widget.ListView;import android.widget.PopupWindow;import com.mb.bgfitting.App;import com.mb.bgfitting.CommonAdapter;import com.mb.bgfitting.ViewHolder;import com.mb.bgfitting.app.R;/** * * @author pythoner * */public class SimpleListPopupWindow<T> extends PopupWindow {private Context context;private CommonAdapter<T> adapter;private List<T> beans;public SimpleListPopupWindow(Context context, View view, int width,List<T> b) {super(view, width, LayoutParams.WRAP_CONTENT, true);this.context = context;this.beans = b;this.setBackgroundDrawable(App.res.getDrawable(R.drawable.bg_popupwindow));this.setOutsideTouchable(true);this.setAnimationStyle(android.R.style.Animation_Dialog);// this.update();// this.setTouchable(true);// this.setFocusable(false);ListView listView = (ListView) view.findViewById(R.id.listView);listView.setAdapter(adapter = new CommonAdapter<T>(context, beans,R.layout.item_for_popupwindow_simple) {@Overridepublic void setValues(ViewHolder helper, T item, int position) {helper.setText(R.id.item_0, item.toString());}});listView.setOnItemClickListener(new ListView.OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> pearnt, View view,int position, long id) {// TODO Auto-generated method stubdismiss();if (onItemClickListener != null) {onItemClickListener.onItemClick(position,beans.get(position));}}});}public interface OnItemClickListener<T> {void onItemClick(int position, T item);}OnItemClickListener<T> onItemClickListener;public void setOnItemClickListener(OnItemClickListener<T> onItemClickListener) {this.onItemClickListener = onItemClickListener;}}
一个简单的Item:item_for_popupwindow_simple.xml
<?xml version="1.0" encoding="utf-8"?><RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="wrap_content"> <TextView android:id="@+id/item_0" android:layout_width="match_parent"android:layout_height="wrap_content"android:paddingTop="8dp"android:paddingBottom="8dp"android:gravity="center"android:textColor="@color/base_text_black"android:textSize="@dimen/font_middle"android:singleLine="true" /></RelativeLayout>
用法:
private void showPopWindow(List<String> list) {View view = LayoutInflater.from(context).inflate(R.layout.popupwindow_simple, null);final SimpleListPopupWindow<String> popupWindow = new SimpleListPopupWindow<String>(context,view, btn_appointmentIndex.getWidth(), list);popupWindow.showAsDropDown(btn_appointmentIndex, 0, 0);popupWindow.setOnItemClickListener(new SimpleListPopupWindow.OnItemClickListener<String>() {@Overridepublic void onItemClick(int position,final String item) {// TODO Auto-generated method stub}});}
popupwindow_simple.xml:
<?xml version="1.0" encoding="utf-8"?><ListView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/listView" android:layout_width="match_parent"android:layout_height="wrap_content"android:cacheColorHint="@android:color/transparent"android:listSelector="@color/base_gray" />
0 0
- 基于上一篇实现的SimpleListPopupWindow<T>
- 基于上一篇写的SimplePairListPopupWindow<F,S>
- 实现一个快速简单的SimpleListDialog<T>
- 简单实现可以多选的ProductListDialog<T>
- 泛型<编程>:基于策略的basic_string实现
- <<一种基于δ函数的图象边缘检测算法>>一文算法的实现。
- List<T>排序
- List<T>的搜索和排序
- [原创]WCF技术剖析之八:ClientBase<T>中对ChannelFactory<T>的缓存机制
- 基于jQuery的二级联动<select>
- 【泛型】使用List<T>篇
- IComparable<T>:泛型接口
- json转换成list<T>
- Ilist<T> 转换成 DataSet
- GridView多行表头的实现<转>
- js实现<a>超链接的跳转验证
- <<转>>算法的力量(李开复)
- 逻辑运算符<<和>>的详细分析
- 基于上一篇写的UserBirthdayDialog
- 541. Reverse String II
- 实现一个快速简单的SimpleListDialog<T>
- Cookie和HttpSession
- 自定义Tablayout的布局
- 基于上一篇实现的SimpleListPopupWindow<T>
- 移动端常见的一些兼容性问题
- C++与类型转换相关的四个关键字及其特点
- 基于上一篇写的SimplePairListPopupWindow<F,S>
- 简单实现可以多选的ProductListDialog<T>
- 如何下载youtube视频-非常简单
- 如何获取 Android 设备的CPU核数、时钟频率以及内存大小
- 用文字替换小图标(TextView替换ImageView)
- HDU 2577 How to Type 动态规划