我有一個ListView
,每列包含三個TextViews
(出於格式原因)。 我的問題是當onItemClick
方法被調用,我需要所有三個TextViews
返回值,這是我不能達到使用:從ListView返回多個TextView值
((TextView)view.).getText().toString();
我有一個ListView
,每列包含三個TextViews
(出於格式原因)。 我的問題是當onItemClick
方法被調用,我需要所有三個TextViews
返回值,這是我不能達到使用:從ListView返回多個TextView值
((TextView)view.).getText().toString();
最後,我發現這個完美工作:
String item = ((TextView)view.findViewById(R.id.TYPE_CELL)).getText().toString();
嘗試分配的ID給TextViews然後用findViewById找到他們被點擊的行項目的視圖。例如:
public void onItemClick(AdapterView<?> parent, View child, int position, long id) {
TextView titleTextView = (TextView)child.findViewById(R.id.textview_title);
TextView subtitleTextView = (TextView)child.findViewById(R.id.textview_subtitle);
TextView dateTextView = (TextView)child.findViewById(R.id.textview_date);
// Do the rest of your processing here
}
訪問在ListView
這樣每個TextView
:
listView.setOnItemClickListener(new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> parent, View viewItem, int position, long arg3) throws NullPointerException{
TextView one = (TextView)parent.getChildAt(position-listView.getFirstVisiblePosition()).findViewById(R.id.tvone);
String tvone = one.getText().toString();
TextView two = (TextView)parent.getChildAt(position-listView.getFirstVisiblePosition()).findViewById(R.id.tvtwo);
String tvtwo = two.getText().toString();
TextView three = (TextView)parent.getChildAt(position-listView.getFirstVisiblePosition()).findViewById(R.id.tvthree);
String tvthree = three.getText().toString();
}
}
這是一個很好的答案,尤其是將TextView值傳遞給字符串變量 – Edwinfad
我發現這是最好的答案。謝謝 – Edwinfad