package com.mas;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnTouchListener;
import android.view.ViewGroup.LayoutParams;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.PopupWindow;
import android.widget.SimpleAdapter;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.AdapterView.OnItemSelectedListener;
import com.mas.R;
public class popupTest extends Activity {
Button btnPopupWindow;
private PopupWindow pop;
ListView listView,listView1;
LayoutInflater inflater;
SimpleAdapter adapter;
EditText et;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
et = (EditText) findViewById(R.id.et);
btnPopupWindow=(Button)this.findViewById(R.id.Button01);
btnPopupWindow.setOnClickListener(new ClickEvent());
}
//统一处理按键事件
class ClickEvent implements OnClickListener{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(v==btnPopupWindow)
{
LayoutInflater inflater = (LayoutInflater)
popupTest.this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
listView = (ListView) inflater.inflate(R.layout.listview, null);
if(pop == null){
System.out.println("....................");
adapter = new SimpleAdapter(popupTest.this, getData(), R.layout.item,
new String[]{"info"}, new int[]{R.id.tx});
listView.setFocusable(true);
listView.setItemsCanFocus(true);
listView.setAdapter(adapter);
listView.setOnItemClickListener(new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
// TODO Auto-generated method stub
et.setText(getData().get(arg2).get("info").toString());
pop.dismiss();
pop = null;
}
});
pop = new PopupWindow(listView, 200, LayoutParams.WRAP_CONTENT);
pop.setTouchable(true);
pop.setFocusable(true);
pop.showAsDropDown(btnPopupWindow, 188, 188);
}else{
pop.dismiss();
pop = null;
}
}
}
private List<Map<String, Object>> getData() {
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
Map<String, Object> map = new HashMap<String, Object>();
map.put("info", "google 1");
list.add(map);
map = new HashMap<String, Object>();
map.put("info", "google 2");
list.add(map);
map = new HashMap<String, Object>();
map.put("info", "google 3");
list.add(map);
return list;
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
Android: PopupWindow 上显示 ListView 并相应 Demo
共25个文件
class:9个
xml:5个
png:3个
5星 · 超过95%的资源 需积分: 10 190 下载量 156 浏览量
2011-01-13
15:51:07
上传
评论
收藏 46KB RAR 举报
温馨提示
Android: PopupWindow 上显示 ListView 并相应 Demo (仿QQ登录界面,待改进)
资源推荐
资源详情
资源评论
收起资源包目录
popupTest.rar (25个子文件)
popupTest
.project 845B
default.properties 364B
bin
com
mas
R$string.class 394B
R$layout.class 421B
R$drawable.class 367B
popupTest$ClickEvent$1.class 2KB
R.class 454B
popupTest$ClickEvent.class 3KB
popupTest.class 1KB
R$attr.class 307B
R$id.class 433B
popupTest.apk 16KB
resources.ap_ 12KB
classes.dex 6KB
AndroidManifest.xml 671B
src
com
mas
popupTest.java 4KB
res
values
strings.xml 169B
layout
listview.xml 304B
item.xml 323B
main.xml 510B
drawable-ldpi
icon.png 2KB
drawable-hdpi
icon.png 4KB
drawable-mdpi
icon.png 3KB
.classpath 280B
gen
com
mas
R.java 976B
assets
共 25 条
- 1
touch2011
- 粉丝: 2
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
前往页