2016-05-14 66 views
-1

我有一个15项长列表(与自定义视图),我想获得我想要的列表项的textview值。如何从listview中获得textview值?

+0

如果他们只是普通的'TextView's - 即,不能编辑 - 难道你已经知道的文本值? –

+0

他们是不同的自定义视图中的其他变量可靠,他们是输入数字 –

+0

的平均值,现在我有一个按钮的列表视图,当我按它我想获得一个文本值取决于我选择的位置 –

回答

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 
        } 


       }); 
0

你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具体位置。现在,您可以使用以前的方式进行投射。

希望,这将帮助你:)

+0

是的,但我不需要onITemClick我有一个按钮,该按钮将给我在位置2的列表项中的文本值例如 –

+0

@Milos Cukic我编辑了我的答案。请检查一下 –