如何从列表视图中获取textview值?

时间:2016-05-14 19:40:57

标签: android listview android-custom-view

我有一个15项长列表(带有自定义视图),我想得到我想要的列表项的textview值。

2 个答案:

答案 0 :(得分:1)

你的onItemClick回调会喜欢这个

@Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
    }

在这里,您只需View view使用布局投射此视图并获取TextView。这是一个例子:

if (view != null) {
        TextView txtView = view.findViewById(R.id.mytextview);
        String value=txtView.getText().toString();
    }

修改

public View getViewByPosition(int pos, ListView listView) {
    final int firstListItemPosition = listView.getFirstVisiblePosition();
    final int lastListItemPosition = firstListItemPosition + listView.getChildCount() - 1;

    if (pos < firstListItemPosition || pos > lastListItemPosition ) {
        return listView.getAdapter().getView(pos, null, listView);
    } else {
        final int childIndex = pos - firstListItemPosition;
        return listView.getChildAt(childIndex);
    }
}

只需使用这种方式在按钮onClick()方法上调用此方法

getViewByPosition(2,YOUR_LIST_VIEW); 

此方法会返回View具体位置的ListView对象。现在你可以使用以前的方式进行投射。

希望,这会对你有所帮助:)

答案 1 :(得分:0)

可以将此代码添加到ListView中,以便在长按时执行某项操作:

list.setOnItemLongClickListener(new OnItemLongClickListener() {

               @Override
                public boolean onItemLongClick(AdapterView<?> parent, View list,int pos, long id) {
                        // TODO Auto-generated method stub

                      CustomView view = (CustomView) list ;
                     //put in your customview some methods to get and set each item within it for example getTextViewText to get the text from the TextView item
                    }


                });