解决方案 »

  1.   


    listview.setOnItemClickListener(new OnItemClickListener() {
     
                        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                            // TODO Auto-generated method stub
                            System.out.println(position);
                        }
                    });这样算不算实现呢
      

  2.   

    我觉得把listview的setOnItemClickListener写在里面本来就不好呀 不如@Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            // 生成ListView
                    ListView listview = new ListView(MainActivity.this);
                    String strs = new String;
                    strs = "asfsafdasdf";
                    strs = "桂 地要仍地沃尔夫仍";
                    strs = "asfsafdasdf";
                     ArrayAdapter<String> adapter=new
                     ArrayAdapter<String>(MainActivity.this,R.layout.common_poplist_item_single_textview,R.id.content,strs);
    //                ArrayAdapter<String> adapter = new ArrayAdapter<String>(MainActivity.this, R.layout.common_poplist_item_single_textview, strs);
                    listview.setAdapter(adapter);
                    listview.setOnItemClickListener(new OnItemClickListener() {
     
                        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                            // TODO Auto-generated method stub
                            System.out.println(position);
                        }
                    });
            final Button button1 = (Button) findViewById(R.id.button1);
     
            button1.setOnClickListener(new OnClickListener() {
     
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    
     
                    PopupWindow window = new PopupWindow(MainActivity.this);
                    // 设置宽高
                    window.setWidth(200);
                    window.setHeight(120);
                    // 填充
                    window.setContentView(listview);
                    // 外部可部
                    window.setOutsideTouchable(true);
                    // 加了下面这行,onItemClick才好用
                    window.setFocusable(true);
                    window.showAsDropDown(button1);
     
                }
            });
        }
      

  3.   

    点下按钮直接显示popwindow就好了
      

  4.   

    嗯,我这样的写法确实不好..不过我的问题是,OnItemClick事件没有被执行到...
      

  5.   

    楼主,我的在4.1上有效的啊,这是我的代码http://blog.csdn.net/xiaanming/article/details/9121383
      

  6.   


    感谢..对比了你的代码...层层剥离...发现我的TextView 多加了一个该死的属性: android:textIsSelectable="true"导致点击listView中的Item捕捉不到点击事件的问题。
      

  7.   


    感谢..对比了你的代码...层层剥离...发现我的TextView 多加了一个该死的属性: android:textIsSelectable="true"导致点击listView中的Item捕捉不到点击事件的问题。哈哈,原来如此,TextView夺取了焦点,以后用到ListView的时候给他item 设置android:descendantFocusability=”blocksDescendant”比较方法撒