get view方法被调用等于设备屏幕上显示的列表项

时间:2012-11-06 10:04:58

标签: android android-layout android-emulator android-widget

我正在尝试实现自定义列表视图,但是有一个问题是getview方法被称为等于listitems存在于设备的屏幕上,当我滚动列表时,然后对于剩余的项目,调用gitview方法,并且以前的列表项被丢弃。我希望在开始时为列表视图中的所有项调用getview方法。

请帮帮我......

1 个答案:

答案 0 :(得分:0)

在getview mathod中尝试这个

RelativeLayout yourlayout= (RelativeLayout) v.findViewById(R.id.content);

yourlayout.setOnTouchListener(new OnTouchListener()
            {
                boolean isOnClick=true;

                public boolean onTouch(View arg0, MotionEvent arg1) 
                {

                    if(arg1.getAction()==MotionEvent.ACTION_MOVE)
                    {
                        isOnClick = false;
                    }
                    else if(arg1.getAction()==MotionEvent.ACTION_UP)
                    {
                        if(!isOnClick)
                        {
                            x_up = (int) arg1.getX();
                            y_up = (int) arg1.getY();

                            Log.v("log","x up : "+x_up +" and y :"+y_up);
                            // showToast("x  up : "+x_up +" and y :"+y_up);
                            Log.v("log","difference is "+ (x_up-x_down));
                            if(x_up-x_down>50)
                            {
                                delete.setVisibility(View.VISIBLE);

                            }
                            else if(x_down-x_up>50)
                            {
                                delete.setVisibility(View.VISIBLE);
                            }

                            isOnClick = true;
                        }
                        else
                        {
                            isOnClick = true;
                            Log.v("log", "clicekd");
                            if(delete.getVisibility()==View.VISIBLE)
                            {
                                delete.setVisibility(View.INVISIBLE);
                            }
                            else
                            {
                            Intent i = new Intent(MyaLikeActivity.this,ProfileActivity.class);
                            i.putExtra("userid", listitem.getUserId());
                            startActivity(i);
                            }

                        }
                    }
                    else if(arg1.getAction()==MotionEvent.ACTION_DOWN)
                    {
                        x_down = (int) arg1.getX();
                        y_down = (int) arg1.getY();

                        Log.v("log","x down : "+x_down +" and y :"+y_down);
                    }



                    return true;
                }
            });

使用此...从左向右或从右向左滑动时可见的删除按钮....如果删除按钮可见,则可以设置oncliclick列表器..