Android Open Source - droidcon-android-espresso Post List Activity






From Project

Back to project page droidcon-android-espresso.

License

The source code is released under:

Apache License

If you think the Android project droidcon-android-espresso listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.xrigau.droidcon.espresso.presentation;
//  www .  j av a2 s  .c o  m
import android.app.Activity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.Toast;

import com.xrigau.droidcon.core.model.PostList;
import com.xrigau.droidcon.espresso.R;
import com.xrigau.droidcon.espresso.loader.LoaderListener;
import com.xrigau.droidcon.espresso.loader.PostsTaskLoaderCallbacks;
import com.xrigau.droidcon.espresso.presentation.adapter.EmptyAdapter;
import com.xrigau.droidcon.espresso.presentation.adapter.PostsAdapter;

public class PostListActivity extends Activity implements LoaderListener<PostList>, AdapterView.OnItemClickListener {

    private static final int NEWS_LOADER = 1;

    private PostsTaskLoaderCallbacks postsTaskLoaderCallbacks;

    private ListView list;
    private View loading;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_post_list);
        findViews();
        setUpViews();
        postsTaskLoaderCallbacks = new PostsTaskLoaderCallbacks(this, this);

        if (savedInstanceState != null) {
            getLoaderManager().restartLoader(NEWS_LOADER, Bundle.EMPTY, postsTaskLoaderCallbacks).forceLoad();
            return;
        }

        getLoaderManager().initLoader(NEWS_LOADER, Bundle.EMPTY, postsTaskLoaderCallbacks).forceLoad();
    }

    private void findViews() {
        list = (ListView) findViewById(R.id.list);
        loading = findViewById(R.id.loading);
    }

    private void setUpViews() {
        list.setOnItemClickListener(this);
    }

    @Override
    public void onLoadStarted() {
        list.setVisibility(View.GONE);
        loading.setVisibility(View.VISIBLE);
        list.setAdapter(new EmptyAdapter());
    }

    @Override
    public void onLoadFinished(PostList posts) {
        list.setAdapter(new PostsAdapter(posts, LayoutInflater.from(this), getResources()));
        list.setVisibility(View.VISIBLE);
        loading.setVisibility(View.GONE);
    }

    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        Toast.makeText(this, "Wohooo clicked on some item!", 0).show();
    }
}




Java Source Code List

com.xrigau.droidcon.core.debug.MockClient.java
com.xrigau.droidcon.core.model.PostList.java
com.xrigau.droidcon.core.model.PostShould.java
com.xrigau.droidcon.core.model.Post.java
com.xrigau.droidcon.core.service.Services.java
com.xrigau.droidcon.core.task.NewsTask.java
com.xrigau.droidcon.core.task.TaskExecutorShould.java
com.xrigau.droidcon.core.task.TaskExecutor.java
com.xrigau.droidcon.core.task.Task.java
com.xrigau.droidcon.espresso.AndroidUnitTest.java
com.xrigau.droidcon.espresso.helper.DrawableMatcher.java
com.xrigau.droidcon.espresso.helper.EspressoTestsMatchers.java
com.xrigau.droidcon.espresso.loader.LoaderListener.java
com.xrigau.droidcon.espresso.loader.PostsTaskLoaderCallbacks.java
com.xrigau.droidcon.espresso.loader.PostsTaskLoader.java
com.xrigau.droidcon.espresso.presentation.IdlingResourceActivityTest.java
com.xrigau.droidcon.espresso.presentation.IdlingResourceActivity.java
com.xrigau.droidcon.espresso.presentation.MainActivityTest.java
com.xrigau.droidcon.espresso.presentation.MainActivity.java
com.xrigau.droidcon.espresso.presentation.PostListActivityTest.java
com.xrigau.droidcon.espresso.presentation.PostListActivity.java
com.xrigau.droidcon.espresso.presentation.VisitorActivityTest.java
com.xrigau.droidcon.espresso.presentation.VisitorActivity.java
com.xrigau.droidcon.espresso.presentation.WorldDestructionCountdown.java
com.xrigau.droidcon.espresso.presentation.adapter.EmptyAdapter.java
com.xrigau.droidcon.espresso.presentation.adapter.PostsAdapter.java
com.xrigau.droidcon.espresso.util.DeveloperError.java