@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.forum_display); mPrefs = PreferenceManager.getDefaultSharedPreferences(this); mThreadAdapter = new ForumArrayAdapter(this); mThreadList = (ListView) findViewById(R.id.forum_list); mTitle = (TextView) findViewById(R.id.title); mUserCp = (ImageButton) findViewById(R.id.user_cp); mNext = (ImageButton) findViewById(R.id.next_page); mThreadList.setOnScrollListener(new EndlessScrollListener()); mThreadList.setAdapter(mThreadAdapter); mThreadList.setOnItemClickListener(onThreadSelected); mForum = (AwfulSubforum) getIntent().getParcelableExtra(Constants.FORUM); if (mForum == null) { // This is normally a failure condition, except if we're receiving an // intent from an outside link (say, ChromeToPhone). Let's check to see // if we have a URL from such a link. if (getIntent().getData() != null && getIntent().getData().getScheme().equals("http")) { mForum = new AwfulSubforum(); mForum.setForumId(getIntent().getData().getQueryParameter("forumid")); } else { // no dice Log.e(TAG, "Cannot display null forum"); finish(); } } final ArrayList<AwfulThread> retainedThreadList = (ArrayList<AwfulThread>) getLastNonConfigurationInstance(); if (retainedThreadList == null || retainedThreadList.size() == 0) { mFetchTask = new FetchThreadsTask(); mFetchTask.execute(mForum.getForumId()); } else { mThreadAdapter.setThreads(retainedThreadList); } // We might not be able to set this here if we're getting it from // a link and not a ForumsIndexActivity if (mForum.getTitle() != null) { mTitle.setText(Html.fromHtml(mForum.getTitle())); } mUserCp.setOnClickListener(onButtonClick); mNext.setOnClickListener(onButtonClick); }
@Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.settings: startActivity(new Intent().setClass(this, SettingsActivity.class)); return true; case R.id.logout: NetworkUtils.clearLoginCookies(this); startActivityForResult(new Intent().setClass(this, AwfulLoginActivity.class), 0); return true; case R.id.refresh: mFetchTask = new FetchThreadsTask(); mFetchTask.execute(mForum.getForumId()); return true; default: return super.onOptionsItemSelected(item); } }
public void onClick(View aView) { switch (aView.getId()) { case R.id.user_cp: startActivity(new Intent().setClass(ForumDisplayActivity.this, UserCPActivity.class)); break; case R.id.next_page: if (mForum.getCurrentPage() != mForum.getLastPage()) { mForum.setCurrentPage(mForum.getCurrentPage() + 1); mFetchTask = new FetchThreadsTask(mForum.getCurrentPage()); mFetchTask.execute(mForum.getForumId()); } break; } }