popwindow中的listview怎么实现下拉刷新
解决方案 »
- 布局跟输入键盘的问题...急...help
- 关于真机调试问题,希望各位有经验的大侠指点
- 【急】关于android 打开 File 中文文件名 问题
- android系统什么软件打开.chm 格式文件带树状菜单的
- 请教:为什么onServiceConnected没有调用
- android studio怎么把项目运行在手机上?
- android设置转速的效果如何实现
- java.lang.NoSuchMethodError: android.widget.RadioButton.setBackground求大神解决
- Android应用 访问 内网?
- 安卓市场出了什么问题
- 关于手机喇叭音效
- 求助,eclipse虚拟机运行提示XXXhas stopped
google 下拉刷新然后自己组合
import java.util.ArrayList;
import java.util.List;import android.content.Context;
import android.graphics.drawable.BitmapDrawable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.PopupWindow;
import android.widget.TextView;
public class PopMenu {
private ArrayList<String> itemList;
private Context context;
private PopupWindow popupWindow;
private ListView listView; // private OnItemClickListener listener; public PopMenu(Context context) {
// TODO Auto-generated constructor stub
this.context = context; itemList = new ArrayList<String>(5); View view = LayoutInflater.from(context)
.inflate(R.layout.popmenu, null); // 设置 listview
listView = (ListView) view.findViewById(R.id.listView);
listView.setAdapter(new PopAdapter());
listView.setFocusableInTouchMode(true);
listView.setFocusable(true); popupWindow = new PopupWindow(view, 100, LayoutParams.WRAP_CONTENT);
popupWindow = new PopupWindow(view, context.getResources()
.getDimensionPixelSize(R.dimen.popmenu_width),
LayoutParams.WRAP_CONTENT); // 这个是为了点击“返回Back”也能使其消失,并且并不会影响你的背景(很神奇的)
popupWindow.setBackgroundDrawable(new BitmapDrawable());
} // 设置菜单项点击监听器
public void setOnItemClickListener(OnItemClickListener listener) {
// this.listener = listener;
listView.setOnItemClickListener(listener);
} // 批量添加菜单项
public void addItems(List<String> names) {
for (String s : names)
itemList.add(s);
} // 单个添加菜单项
public void addItem(String item) {
itemList.add(item);
} // 下拉式 弹出 pop菜单 parent 右下角
public void showAsDropDown(View parent) {
popupWindow.showAsDropDown(parent,
10,
// 保证尺寸是根据屏幕像素密度来的
context.getResources().getDimensionPixelSize(
R.dimen.popmenu_yoff)); // 使其聚集
popupWindow.setFocusable(true);
// 设置允许在外点击消失
popupWindow.setOutsideTouchable(true);
// 刷新状态
popupWindow.update();
} // 隐藏菜单
public void dismiss() {
popupWindow.dismiss();
} // 适配器
private final class PopAdapter extends BaseAdapter { @Override
public int getCount() {
// TODO Auto-generated method stub
return itemList.size();
} @Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return itemList.get(position);
} @Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
} @Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ViewHolder holder;
if (convertView == null) {
convertView = LayoutInflater.from(context).inflate(
R.layout.pomenu_item, null);
holder = new ViewHolder(); convertView.setTag(holder); holder.groupItem = (TextView) convertView
.findViewById(R.id.name); } else {
holder = (ViewHolder) convertView.getTag();
} holder.groupItem.setText(itemList.get(position)); return convertView;
} private final class ViewHolder {
TextView groupItem;
}
}
}
我刚做过这个功能,ProgressBar在泡泡窗口不大好定位
=============
对啊,就是这个问题,老是null指针啊,我回家弄去~还要搞成可以批量删除的listview