这是我的一个方法:
public static void updateRowForReview(int itemRowPosition) {
adapter.getWasReviewed(itemRowPosition);
updateReviewAtPosition(itemRowPosition);
}
private static void updateReviewAtPosition(int position) {
View view = listView.getChildAt(position - listView.getFirstVisiblePosition());
listView.getAdapter().getView(position, view, listView);
TextView reviewTotalTV =(TextView) view.findViewById(R.id.tvReviewTotalForItem);
String reviewTotal = reviewTotalTV.getText().toString();
int reviewTotalInt = Integer.valueOf(reviewTotal) + 1;
reviewTotalTV.setText(String.valueOf(reviewTotalInt));
}
无论我做什么,getText().toString()
都只会返回 1。TextView
tvReviewTotalForItem
是动态的,并且在列表的每一行中都有各种值。所以不知道为什么它会返回这个。我的代码错了吗?
另请注意,行的位置是正确的;它将文本设置为正确的列表行,只是错误的值。