0

我已经使用基本适配器来创建自定义列表视图。listview的每一行都有一个ImageView和TextView。我想要做的是,当我滚动 listview 时,我想在 listview 的第一个可见行中获取 textview 的文本,然后我想让 textview 在 listview 的第一个可见行中不可见。如何在 listview 的 onScroll 方法中获取视图的 ID 和数据。

@Override
        public View getView(int arg0, View convertView, ViewGroup arg2) {
            // TODO Auto-generated method stub

            convertView = LayoutInflater.from(MainActivity.this).inflate(R.layout.list_row, arg2, false);
            TextView tv = (TextView)convertView.findViewById(R.id.textViewrow);
            tv.setText("position " + arg0);
            tv_item = tv;
//          tv.setTag("position " + arg0);




            return convertView;
        }





@Override
            public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
                // TODO Auto-generated method stub
//              ViewGroup viewGroup = (ViewGroup) view.getAdapter()
//                        .getView(firstVisibleRow, null, view);//
                int post = lv.getFirstVisiblePosition();
                TextView tv = (TextView)lv.findViewWithTag("position " + post);
                System.out.println("position " + post);
//              View v= lv.findViewWithTag("position " + post);
//              v.findViewById(R.id.textViewrow).gett
//              System.out.println("position text" + tv.getText());



                /*tv_item.getHitRect(rect2);
                if (Rect.intersects(rect1, rect2)) {
                    Toast.makeText(getApplicationContext(), "intersected", Toast.LENGTH_LONG).show();
                }*/

            }
4

1 回答 1

1

我想这个问题与有关:)

为了解决你的问题,我搜索了一下,我发现了这个

现在要解决您的问题,您必须按照以下步骤操作:

您必须像这样获得第一个可见行的视图:

    ....
    @Override
    public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {

        View view = mListView.getAdapter().getView(firstVisibleItem, null, mListView);
        TextView mTextView = (TextView) view.findViewById(R.id.textViewrow);
        mTextView.setVisbility(View.GONE);

希望对你有帮助

于 2014-06-20T12:37:40.823 回答