BaseExpandableListAdapter
を拡張するクラスを作成しました。グループをクリックすると、そのグループが展開され、ビューのカスタムインジケータが180回転してアニメートされます。そして、それは動作します。TextView.setText()はExpandableListViewアダプタのテキストを更新しません
私の問題は同じですclicklistener
setText()
メソッドを使用してTextView
を更新しますが、実行するとビューが更新されません。
問題がTextView
への参照であるかどうかをテストしました。可視性を変更し、回転させ、アニメーション化し、すべて機能させました。そのsetText()
は動作しません。 (にOnClickListenerを割り当てる)私もgetGroupView(このコードを入れて試してみました(2 TextViews
は私が更新したいと思い、実際にあります)
@Override
public void onGroupExpand(int groupPosition) {
GroupViewHolder holder = mViewHolderSparseArray.get(groupPosition);
Lesson lesson = (Lesson) getChild(groupPosition, 0);
holder.indicatorView.animate().rotation(180);
holder.teacherView.setText(lesson.getTeacher());
holder.classroomView.setText(lesson.getClassroom());
}
@Override
public void onGroupCollapse(int groupPosition) {
GroupViewHolder holder = mViewHolderSparseArray.get(groupPosition);
holder.indicatorView.animate().rotation(0);
holder.teacherView.setText("...");
holder.classroomView.setText("");
}
:ここ
は、アダプタクラス内の関連するコードです。私は同じ結果を得る。
いくつかの他の関連するメソッド:
@Override
public long getGroupId(int groupPosition) {
return groupPosition;
}
@Override
public long getChildId(int groupPosition, int childPosition) {
return childPosition;
}
@Override
public boolean hasStableIds() {
return true;
}
@Override
public boolean isChildSelectable(int groupPosition, int childPosition) {
return true;
}
私TextView
は、そのテキストを更新しない理由を任意のアイデア?
コール 'notifyDataSetChanged();'とhttps://stackoverflow.com/a/23281494/3395198 –
@IntelliJAmiya私はどのように表示されませんnotifyDataSetChanged()は役に立ちました(試してもうまくいかなかった)が、あなたがリンクした答えが助けになりました。私は答えを投稿します。 –