如何在android的Listview的onScroll中获取列表行项目(textview)id和文本?

时间:2014-06-19 12:45:03

标签: android listview onscroll

我使用了基本适配器来创建自定义列表视图。 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();
                }*/

            }

1 个答案:

答案 0 :(得分:1)

我猜这个问题与this:)

有关

要解决您的问题,我搜索了一下,发现this

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

你必须得到第一个可见行的视图:

    ....
    @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);

我希望它可以帮到你,