我正在從自定義ArrayAdapter調用的Async類中檢索一些數據。當我添加一條新評論時,我更新了評論文本視圖並且工作正常,但是在我重新加載整個列表後,更新不再出現。我可以在logcat中看到有新的評論nr,但不在UI上。從ListView更新TextView android行
不應該這樣:answersListView.invalidateViews
夠嗎?我試圖從列表視圖中更新該單行,以避免一段時間後未更新註釋nr的問題。
private void updateView(int index) {
System.out.println("index: " + index);
View v = answersListView.getChildAt(index - answersListView.getFirstVisiblePosition());
if (v == null)
return;
final TextView nrComments = (TextView) v.findViewById(com.dub.mobile.R.id.showCommentsTxt);
if (nrComments != null) {
if (nrComments.getText().toString().trim().length() == 0) {
// first comment
nrComments.setText("1 comments");
} else {
// comments exist already
int newNr = Integer.parseInt(nrComments.getText().toString().trim()
.substring(0, nrComments.getText().toString().trim().indexOf("comments")).trim()) + 1;
nrComments.setText(newNr + " comments");
}
System.out.println("final nr of comments: " + nrComments.getText());
nrComments.setVisibility(View.VISIBLE);
}
answersListView.getAdapter().getView(position, v, answersListView);
v.setBackgroundColor(Color.GREEN);
answersListView.invalidateViews();
}
和:
updateView(position);
adapter.notifyDataSetChanged();
您是否在更新listview適配器後使用notifyDataSetChanged()? – Rohit5k2
是的,現在更新了問題。 –
你應該在'updateView(position)' – Rohit5k2