试试:popupwindow焦点问题解决方案
在android 开发过程中,总会遇到一些问题,比如popupwindow焦点问题等等,我们该如何解决呢?需要的朋友可以了解下
1.问题:创建了一个PopupWindow,里面要显示listView,这样子的话,listView的itemClick要得到实现,必须要让PopupWindow得到焦点,可是PopupWindow得到焦点之后,parentView 的一些onTouch事件就得不到响应,在这个时候应该怎么办?
2.解决:PopupWindow得到焦点:window.setFocusable(true);
也要让除了PopupWindow之外的得到响应需要--window.setBackgroundDrawable(new BitmapDrawable());
3.注意:如若还不能实现,上面两句代码换一下先后顺序~~~
在android 开发过程中,总会遇到一些问题,比如popupwindow焦点问题等等,我们该如何解决呢?需要的朋友可以了解下
1.问题:创建了一个PopupWindow,里面要显示listView,这样子的话,listView的itemClick要得到实现,必须要让PopupWindow得到焦点,可是PopupWindow得到焦点之后,parentView 的一些onTouch事件就得不到响应,在这个时候应该怎么办?
2.解决:PopupWindow得到焦点:window.setFocusable(true);
也要让除了PopupWindow之外的得到响应需要--window.setBackgroundDrawable(new BitmapDrawable());
3.注意:如若还不能实现,上面两句代码换一下先后顺序~~~
popWindow.setFocusable(true);
//这句是为了防止弹出菜单获取焦点之后,点击activity的其他组件没有响应
popWindow.setBackgroundDrawable(new BitmapDrawable());
EditText没有焦点肯定是无法输入的。
焦点在EditText上时,点击PopupWindow上的ListView的item时怎么会没有反应?
就好比有两个button A和B,此时焦点在A上,但是B还是可以点击的啊。
我现在手头没代码,明天发给你一份 你可以看看
你可以截获popupwindow的消息,获取输入的内容把数据反映到EDIT控件上,毕竟是两个控制,没有两个焦点的说法,不过可以模拟效果来实现。
主要是因为AutoCompleteTextView在各个版本上的UI都不一样
所以做一个一样效果的
这是我上传的工程,你可以看一下
你可以截获popupwindow的消息,获取输入的内容把数据反映到EDIT控件上,毕竟是两个控制,没有两个焦点的说法,不过可以模拟效果来实现。
http://pan.baidu.com/s/1qWKyfgS
工程文件我发上来了,大神可以帮忙看一下吗?
能一边输入,同时根据输入的内容匹配相近的item到popupwindow上的listview上
你有没有类似的东西 就搭救
public int getCount() {
// TODO Auto-generated method stub
return listBean == null ? 0 : listBean.size();
} @Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
} @Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
View v = LayoutInflater.from(AddPatientX.this).inflate(
R.layout.auto_text_item, null);
TextView tv1 = (TextView) v.findViewById(R.id.tv1);
tv1.setText(listBean.get(position).getFname());
v.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
System.out.println("xxxxxxxxxxxxxxxx");
}
});
return v;
} }在adpter的getView里面可以监听到listView的每个itemView的点击事件,说明了listView的每个item是能被点击的,但是这个点击事件没有再传给listView从而去调用OnItemClickListener这个监听器;具体原因还要超级牛神来解决了