想象一下有一個MainActivity
其中有ListView
與ArrayAdapter
。在屬於MainActivity
的視圖中,我直接更新數據;例如,在我的PageAdapter
類:如何更好地同步視圖和數據
@Override
public void finishUpdate(View arg0) {
ViewPager vp = (ViewPager) arg0;
if (vp.getCurrentItem() != this.current_item){
this.current_item = vp.getCurrentItem();
ContentStatus status;
switch(vp.getCurrentItem()){
case(0):
status = ContentStatus.NOTINTERESTING;
break;
case(2):
status = ContentStatus.INTERESTING;
break;
default:
status = ContentStatus.ACTIVE;
}
MainActivity.content.setItemStatus(content.identifier, status);
final Activity act = (Activity) this.context;
ArrayAdapter adapter = (ArrayAdapter) ((ListView) act.findViewById(R.id.view_sequence)).getAdapter();
adapter.notifyDataSetChanged();
}
}
我需要複製該代碼從MainActivity
打開並使用相同的數據的另一個活動,因爲如果用戶改變來自其他活動的一些數據,然後將其關閉並返回到MainActivity我必須重繪MainActivity
的意見。作爲一個變種,我應該使用Activity
的onResume()
方法來更新所有視圖的綁定數據?
是。保留片段中的大部分邏輯並告訴片段在onResume()中自行恢復。 – dmon