package net.miz_hi.smileessence.view.fragment.impl; import android.annotation.SuppressLint; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import com.handmark.pulltorefresh.library.PullToRefreshListView; import net.miz_hi.smileessence.R; import net.miz_hi.smileessence.listener.TimelineRefreshListener; import net.miz_hi.smileessence.listener.TimelineScrollListener; import net.miz_hi.smileessence.model.status.user.UserModel; import net.miz_hi.smileessence.statuslist.StatusListAdapter; import net.miz_hi.smileessence.statuslist.StatusListManager; import net.miz_hi.smileessence.view.fragment.IRemovable; import net.miz_hi.smileessence.view.fragment.ISingleton; import net.miz_hi.smileessence.view.fragment.NamedFragment; @SuppressLint("ValidFragment") public class UserTimelineFragment extends NamedFragment implements IRemovable, ISingleton { UserModel user; private UserTimelineFragment() { } public static UserTimelineFragment newInstance(UserModel user) { UserTimelineFragment fragment = new UserTimelineFragment(); fragment.user = user; return fragment; } @Override public String getTitle() { return user.screenName + "'s Timeline"; } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View page = inflater.inflate(R.layout.listpage_refresh_layout, container, false); PullToRefreshListView listView = (PullToRefreshListView) page.findViewById(R.id.listpage_listview); StatusListAdapter adapter = StatusListManager.getAdapter(StatusListManager.getUserTimeline(user.userId)); listView.setAdapter(adapter); listView.setOnScrollListener(new TimelineScrollListener(adapter)); listView.setOnRefreshListener(new TimelineRefreshListener(StatusListManager.getUserTimeline(user.userId))); listView.onRefreshComplete(); return page; } @Override public void onRemoved() { StatusListManager.removeUserTimeline(user.userId); } }