package android.easyp;
import android.app.Activity;
import android.content.Intent;
import android.easyp.broadcast.Broadcast;
import android.easyp.broadcast.IBroadcastReceiver;
import android.easyp.clientplugin.IClientPlugin;
import android.easyp.clientplugin.PluginManager;
import android.easyp.model.ITeaserPost;
import android.easyp.utils.IntentUtils;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.AdapterView.OnItemClickListener;
public class ListPostsActivity extends Activity implements IBroadcastReceiver {
private ITeaserPost[] posts;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
showList();
Broadcast.getInstance().register(this);
}
private void showList() {
IClientPlugin plugin = PluginManager.getInstance().getActivePlugin();
posts = plugin.getLatestPosts();
setContentView(R.layout.posts);
TextView tv = (TextView) findViewById(R.id.posts_title);
tv.setBackgroundColor(Color.GRAY);
//generate a list view to display
ListView lv = (ListView) findViewById(R.id.post_list);
lv.setTextFilterEnabled(true);
lv.setBackgroundColor(Color.WHITE);
lv.setAdapter(new PostListAdapter(this, R.layout.post_item,
posts));
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Intent intent = new Intent(view.getContext(), ViewPostActivity.class);
IntentUtils.storeObject(intent, "post", posts[position]);
startActivity(intent);
}
});
}
@Override
public void onReceive(Intent intent) {
String action = intent.getAction();
if (action.equals(Broadcast.ACTION_UPDATE)) {
showList();
}
}
}
|