- Java code
btnTBRight = (LinearLayout) findViewById(R.id.layout_button); btnTBRight.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if (!pop.isShowing()) { XmlOpe mXmlOpe=new XmlOpe(Map.this); //TODO List<Line> list=(List<Line>)mXmlOpe.getActionGetLinesList("11"); listView.setAdapter(new lineAdapter(list)); imageView.setImageResource(R.drawable.corner_down); //设置焦点的话 焦点就全到popupwindow上去了,界面上的任何操作都得不到焦点 ,比如说我这个启动popupwindow的按钮 //可是如果我不设置焦点的话 ,popupwindow上的listview又无法点击 ,求解啊 pop.setFocusable(true); pop.setOutsideTouchable(true); pop.update(); pop.showAsDropDown(v); } else { pop.dismiss(); imageView.setImageResource(R.drawable.corner_up); } } });
------解决方案--------------------
popupwindow就是这样哦。设置焦点了其他地方操作不了的。你可以设置点击其他地方 popupwindow消失。一般的应用都是这么做的。楼主想要那个效果的话,可以自己定义一个view。或者自定义下 popupwindow控件试试。